<template>
  <div >
    <div ref="dgnContainer" data-ispage="1"  :class="'dgner page-dgn dgn'+entId+' designer-container'"
         style=""
         data-guid="8f0ba6df-3b85-eba9-3ec2-82121599c35c"
         :data-designertype="designerType">
      <div ref="dssa" class="home-top clearfix dgn-top"
           style="position:fixed;width:1531px;left: 4px; top:0px; z-index: 9200; background-color: #fff; height: 56px;">
        <div class="home-top1" style="padding-top: 8px;">
          <div class="home-top-logo">
            <a href="javascript:void(0);" class="logo-op" onclick="javascript:window.location.reload();" style="">
              <img src="https://www.yunjiepei.com/images/Logo/logo41.png" id="mylogo"
                   style="position: relative; top: 0px; margin-top: -1px; height: 42px; margin-left: 10px; left: 0px;"></a>
          </div>
          <div class="home-top-search" style="left: 250px; float: left; position: relative;">
            <ul class="clearfix dm" style="position: relative; margin-left: 300px;width:203px;" id="divDeviceType">
              <li @click="clickDeviceType($event,1)" :class="{'dm-cur':curDeviceType==1}" class="" style=""  :data-tab-id="1">
                <div style="margin-left: 20px;">
                  <i class="fa fa-mobile-phone" icon="plus" data-icon="mobile-phone"
                     style="position: relative; top: -4px; font-size: 30px; margin-right: 5px;"></i>
                </div>
                <div><span>{{ $t('dpage.phone') }}</span></div>
              </li>
              <li @click="clickDeviceType($event,2)" :class="{'dm-cur':curDeviceType==2}"  :data-tab-id="2">
                <div style="margin-left: 20px;">
                  <i class="fa fa-desktop" icon="plus" data-icon="desktop"
                     style="font-size: 18px; margin-top: 3px; margin-right: 5px;"></i>
                </div>
                <div><span>{{ $t('dpage.pc') }}</span></div>
              </li>
            </ul>
            <div class="clearfix  pl"
                 :style="'display:'+(isForm ||isPage||true?'block':'none')+';position: absolute; top: 17px; left: 10px;max-width:345px;overflow:inherit;'">
              <div class="pl-btn " id="divCurPageBtn" style="padding-left: 0px;cursor: default;">
                <span class="bt" style="padding-left: 0px;">
                  <span class="pn-title" style="display: inline-block;">当前{{texttt}}:
                  </span>
                  <span style="font-weight: normal; font-size: 14px;max-width:235px;display: inline-block;"
                        class="pn">{{entName}}</span>
                </span>
                <i class="fa fa-caret-down" icon="plus" data-icon="desktop"
                   style="display:none;font-size: 18px; margin-right: 5px;"></i>
                <div style="top: 25px; left: 0px; position: absolute;" class="dropdown  " id="divPageList"></div>
              </div>
            </div>
          </div>
          <div class=" fb" :style="(option.isPageLoading ? '' :'width: 460px;')">
            <div class="fb2 clearfix" style="width: 100%; height: 100%;" id="divOpts">
              <div class="btn btn-default btn-width ppt-more" id="divPageOperate"
                   style="margin-right: 10px;position:relative;float: right; width: 80px; margin-left: 20px;  color: #777;" >
                {{ $t('dpage.moreOperate') }}
                <i class="fa fa-angle-down" style="margin-left: 3px;"></i>
                <div class="drop-btn ishiddend dropdown" id="divPageOperateNavMore2"
                     style="position:absolute;right:0px;top:33px; z-index: 100; ">
                  <div v-show="showOperateMenu"
                       :style="'top: 0; left:0px; position: relative; z-index: 100; width: '+(designerType==1?'190px':'402px')+';'"
                       id="divPageOperateNavMore" class="dropdown  " moveupdown="1" left="-1" top="35">
                    <div v-if="moreOperateMenuList!=null" class="js-component-menu nui-menu " style="width: 100%;">
<!--                      :key="index"-->
                      <button v-show="showPublishRunBtn" @click="clickPublishToRun" class="btn btn-success  btn-width" style="margin: 10px 0px 10px 90px;font-size: 16px;width:170px!important;" >
                        发布到 运行端</button>
                      <template  v-for="(obj,index) in moreOperateMenuList">
                    <div v-if="obj.id!=24||isFlowDbTable1" :data-tab-index="obj.id"
                          @click="clickOnOperateMenu($event,index)"
                          class="js-component-menuitem nui-menu-item"
                          style="width: 50%;float: left;line-height:36px;">
                       <a href="javascript:void(0);" class="nui-menu-item-link">
                         <span class="nui-menu-item-text" style="font-size: 14px;">{{obj.text}}</span>
                       </a>
                   </div>
                   <div v-if="obj.spt" class="nui-menu-split nui-split"></div>
                 </template>
                    </div>
                  </div>
                </div>
              </div>
              <button @click="saveDesigner" class="btn btn-success  btn-width" style="float: right; width:  70px; margin-left: 20px;"
                      id="btnSaveDesigner">
                {{ $t('common.save') }}
              </button>
              <button @click="previewDesigner" v-if="!isDetail" class="btn btn-default btn-width"
                      :style="'width: '+(option .isPageLoading?'60px':'50px')+'; margin-left: 20px; float: right;color: #777;'"
                      id="btnPreviewDesigner">
                {{ $t('dpage.preview') }}
              </button>
            </div>
          </div>
        </div>
      </div>
      <div class="home-top clearfix home-top2"
           style="position:fixed;width:390px; top:0px;left: 4px;z-index:1103; background-color: #fff; height: 56px;">
        <div class="home-top1" style="padding-top: 8px;">
          <div class="home-top-logo">
            <a href="javascript:void(0);" class="logo-op" onclick="javascript:window.location.reload();" style="">
              <img src="https://www.yunjiepei.com/images/Logo/logo4.png" id="mylogo"
                   style="position: relative; top: 0px; margin-top: -1px; height: 42px; margin-left: 10px; left: 0px;" />
            </a>
          </div>
          <div class="btn btn-default"
               style="margin-left: 95px;display: inline-block;padding: 5px 20px;margin-top: 3px;">
            <a :href="url22" target="_blank" style="color: #f7bb09;font-size: 14px;">
              <i class="fa fa-play-circle-o" style="margin-right: 6px;"></i>
              {{ $t('common.videoTutorial') }}</a>
          </div>
        </div>
      </div>
      <div class="home-main-left clearfix "
           :style="'width: 390px;z-index: 1102;position: fixed;left:'+left0+';top:'+top0+'; border-top:0px solid #E7E7E7;'">
        <div id="stage" :class="'property_tab'+curLeftTopTabId" style="">
          <div id="side">
            <ul id="tabs" class=" clearfix" style="z-index:1001;border-top: 1px solid #E7E7E7;">
              <template v-if="designerType == 5">
                <li id="property_tab1" @click="clickPropertyTab($event,1)"  :data-tab-id="1">
                  <div>
                    {{ $t('dpage.outerPage') }}
                  </div>
                </li>
                <li id="property_tab2" @click="clickPropertyTab($event,2)"  :data-tab-id="2">
                  <div title="">
                    {{ $t('dpage.reportSet') }}
                  </div>
                </li>
                <li id="property_tab3" @click="clickPropertyTab($event,3)"  :data-tab-id="3">
                  <div title="">
                    {{ $t('dpage.surfaceStype') }}
                  </div>
                </li>
              </template>
              <template v-else>
                <li id="property_tab1" @click="clickPropertyTab($event,1)"  :data-tab-id="1">
                  <div :title="$t('common.addition')+texttt3+$t('dpage.toYour',[texttt])+'.'">
                    {{ $t('common.addition') }}{{ texttt3 }}
                  </div>
                </li>
                <li id="property_tab2" @click="clickPropertyTab($event,2)"  :data-tab-id="2">
                  <div title="">{{ (isSearchForm||isBrowse ? $t('dpage.entirety'):texttt)}}{{ $t('dpage.property') }}</div>
                </li>
                <li id="property_tab3" @click="clickPropertyTab($event,3)"  :data-tab-id="3">
                  <div title="">{{ $t('dpage.surfaceStype') }}</div>
                </li>
              </template>
              <i ref="tabTopI" class="cui-tab-scrollbar cui-tabnum3" :style="'width: 33.3333%; left: '+(33.33*(curLeftTopTabId-1))+'%;'"></i>
            </ul>
<!--            <iframe scrolling="no" frameborder="0" class="t_iframe"-->
<!--                    style="background-color:#fff;position: absolute; overflow: hidden;border: 0px none;left: 0px;top: 0px; width: 100%;height: 42px;z-index: 1000;"></iframe>-->
            <el-scrollbar :style="'height:'+(hw<200?200:hw)+'px;'" id="divPpt" class="clearfix " hasscroll="1">
              <!-- 添加页面元素、控件、字段  -->
              <div style="" v-show="showAddColumns" id="addColumns" class="clearfix fieldsarea no-tab no-tab2">
                <div id="shake">
                  <div id="div_formCtrl">
                    <div class=" pd-bar pd-form" style="">
                      <div class="pd-tab" style="">
                        <ul class="pd-tabul clearfix" style="">
                          <template v-if="leftBarList!=null">
                            <li v-for="(obj,index) in leftBarList"
                                @mouseover="mouseoverPageAddElemTab($event,index)"
                                :key="obj.groupName"
                                class="pd-tabli"
                                :class="{'tab-cur':curLeftBarIndex==index}"
                                :data-tab-id="index+1"
                                :style="'width:'+(100/leftBarList.length-1)+'%;'">
                              <div class="" style="white-space: nowrap;">{{ obj.groupName }}</div>
                            </li>
                          </template>
                        </ul>
                        <template v-if="leftBarList!=null">
                          <div class="pd-tab-cnt" style="display: none;" :data-tab-id="1">

                          </div>
                          <div v-for="(obj00,index) in leftBarList"
                              :key="obj00.groupName"
                               class="pd-tab-cnt"
                               v-show="curLeftBarIndex==index?true:false"
                              :data-tab-id="index+1"
                              style="">
                            <!--批量 加入字段 -->
                            <div v-if="index==0&&((designerType == 2 && mainObj.formTypeId == 2))"
                                 class="curStyleScheme clearfix" style="float: left;clear: none;text-align: center;margin-bottom: 10px;width: 100%;">
                              <button @click="clickBatchAddField" class="btn btn-default fl" :title="$t('dform.batchAddField')" id="addFields" style="color: #777;margin-left:10px;width:120px;">
                                {{$t('dform.batchAddField2')}}
                              </button>
                              <button @click="clickCreateMoreField" class="btn btn-default fl" :title="$t('dform.createMoreField')" id="buildNewFields" style="color: #777;margin-left:30px;width:120px;">
                                {{$t('common.create')}} {{$t('dform.newlyField')}}
                              </button>
                            </div>
                            <ul :ref="'pdElemUl'+index" class="pd-elem-ul clearfix">
                              <draggable v-if="index==0&&((designerType == 2 && mainObj.formTypeId == 2))"
                                         class="components-draggable"
                                         :list="firstCtrlForForm"
                                         :sort="false"
                                         :options="trashOptions"
                                         @start="onStardddt"
                                         :clone="cloneComponent"
                                         :move="moveCtrlxx"
                                         @end="onEnd"
                                         :data-com-type="5"
                              >
                                <li v-for="(obj7,index7) in firstCtrlForForm"
                                    @click.stop="clickToAddPageElem($event,index,index7)"
                                    class="pd-elem-li" :title="$t('dpage.dragToDgn')">
                                  <div class="pd-icon" >
                                    <i :class="'fa fa-'+obj7.fontClass" :style="(obj7.iconCss?obj7.iconCss:'')"></i>
                                  </div>
                                  <div class="pd-text" style="color:orange;font-size: 14px;">
                                    {{obj7.name}}
                                  </div>
                                </li>
                              </draggable>
                              <draggable v-if="index==0&&((designerType == 4))"
                                         class="components-draggable"
                                         :list="firstCtrlForDetail"
                                         :sort="false"
                                         :options="trashOptions"
                                         @start="onStardddt"
                                         :clone="cloneComponent"
                                         :move="moveCtrlxx"
                                         @end="onEnd"
                                         :data-com-type="5"
                              >
                                <li v-for="(obj7,index7) in firstCtrlForDetail"
                                    @click.stop="clickToAddPageElem($event,index,index7)"
                                    class="pd-elem-li" :title="$t('dpage.dragToDgn')">
                                  <div class="pd-icon" >
                                    <i :class="'fa fa-'+obj7.fontClass" :style="(obj7.iconCss?obj7.iconCss:'')"></i>
                                  </div>
                                  <div class="pd-text" style="color:orange;font-size: 14px;">
                                    {{obj7.name}}
                                  </div>
                                </li>
                              </draggable>
                                <!--字段（用于：详情页面）-->
                                <template  v-if="index==0&&sourceFormField1!=null&&designerType == 4">
                                  <draggable
                                    class="components-draggable"
                                    :list="sourceFormField1"
                                    :sort="false"
                                    :options="trashOptions"
                                    @start="onStardddt"
                                    :clone="cloneComponent"
                                    :move="moveCtrlxx"
                                    @end="onEnd"
                                    :data-level="1"
                                    :data-com-type="2"
                                  >
                                    <li v-for="(fieldObj,index2) in sourceFormField1"
                                      style=""
                                      class="pd-elem-li pd-elem-li2  ui-draggable ui-draggable-handle"
                                      @click.stop="clickToAddFieldToDesignerForBrowse($event,index2,1)"
                                      :title="fieldObj.ctrlByname+'，'+$t('dpage.dragToDgn')"
                                      :data-column-byname="fieldObj.ctrlByname"
                                      :data-fld-id="fieldObj.fldId"
                                      :data-is-new-ctrl="1"
                                      :data-source-id="fieldObj.sourceId"
                                      :data-source-name="fieldObj.sourceName"
                                      :data-field-name="fieldObj.fieldName"
                                      :data-type="1"
                                      :data-db-field-id="fieldObj.fieldId"
                                      :data-bind-field-name="fieldObj.bindFieldName"
                                      :data-column-type="fieldObj.bindFieldName"
                                      :data-entid="fieldObj.entId">
                                    <div class="btn btn-default " style="padding: 26px 0 26px 0px;width: 80px;color: #777;border-style: dashed;white-space:nowrap; overflow:hidden; text-overflow:ellipsis;">
                                      {{fieldObj.ctrlByname}}
                                    </div>
                                  </li>
                                  </draggable>
                                </template>
                                <!--DgnFormFieldPpt.createFormFieldForSelector(curMod,dgnObj["sourceFormField1"], dgnObj["sourceFormField2"],dgnObj["sourceName1"], dgnObj["sourceName2"], dgnObj["sourceId1"], dgnObj["sourceId2"]));//代码位置:FormBuilder.js-->
                                <!--字段（用于：详情页面）-->
                                <template  v-if="index==0&&sourceFormField2!=null&&designerType == 4">
                                  <draggable
                                    class="components-draggable"
                                    :list="sourceFormField2"
                                    :sort="false"
                                    :options="trashOptions"
                                    @start="onStardddt"
                                    :clone="cloneComponent"
                                    :move="moveCtrlxx"
                                    @end="onEnd"
                                    :data-level="2"
                                    :data-com-type="3"
                                  >
                                  <li v-for="(fieldObj,index2) in sourceFormField2"
                                      style=""
                                      class="pd-elem-li pd-elem-li2  ui-draggable ui-draggable-handle"
                                      @click.stop="clickToAddFieldToDesignerForBrowse($event,index2,2)"
                                      :title="fieldObj.ctrlByname+'，'+$t('dpage.dragToDgn')"
                                      :data-column-byname="fieldObj.ctrlByname"
                                      :data-fld-id="fieldObj.fldId"
                                      :data-is-new-ctrl="1"
                                      :data-source-id="fieldObj.sourceId"
                                      :data-source-name="fieldObj.sourceName"
                                      :data-field-name="fieldObj.fieldName"
                                      :data-type="1"
                                      :data-db-field-id="fieldObj.fieldId"
                                      :data-bind-field-name="fieldObj.bindFieldName"
                                      :data-column-type="fieldObj.bindFieldName"
                                      :data-entid="fieldObj.entId">
                                    <div class="btn btn-default " style="padding: 26px 0 26px 0px;width: 80px;color: #777;border-style: dashed;white-space:nowrap; overflow:hidden; text-overflow:ellipsis;">
                                      {{fieldObj.ctrlByname}}
                                    </div>
                                  </li>
                                  </draggable>
                                </template>
                                <!--数据表的字段（用于：表单）-->
                                <template  v-if="index==0&&canAddedFieldList!=null&&((designerType == 2 && mainObj.formTypeId == 2)||designerType==3)">
  <!--                              {{canAddedFieldList[0]}}-->
<!--                                   :clone="cloneComponent"
                                   dfsdfdsfdsfdsf
                                    @clone="onClone"-->
                                  <draggable
                                    class="components-draggable"
                                    :list="canAddedFieldList"
                                    :sort="false"
                                    :options="trashOptions"
                                    @start="onStardddt"
                                    :clone="cloneComponent"
                                    :move="moveCtrlxx"
                                    @end="onEnd"
                                    :data-com-type="4">
                                    <li v-for="(fieldObj,index2) in canAddedFieldList"
                                      style=""
                                       class="pd-elem-li pd-elem-li2  ui-draggable ui-draggable-handle"
                                      @click.stop="clickToAddFieldToDesigner($event,index2)"
                                      :title="fieldObj.ctrlByname+'，'+$t('dpage.dragToDgn')"
                                      :data-column-byname="fieldObj.ctrlByname"
                                      :data-fld-id="fieldObj.fldId"
                                      :data-is-new-ctrl="1"
                                      :data-source-id="fieldObj.sourceId"
                                      :data-source-name="fieldObj.sourceName"
                                      :data-field-name="fieldObj.fieldName"
                                      :data-type="1"
                                      :data-db-field-id="fieldObj.fieldId"
                                      :data-bind-field-name="fieldObj.bindFieldName"
                                      :data-column-type="fieldObj.bindFieldName"
                                      :data-entid="fieldObj.entId">
                                    <div class="btn btn-default " style="padding: 26px 0 26px 0px;width: 80px;color: #777;border-style: dashed;white-space:nowrap; overflow:hidden; text-overflow:ellipsis;">
  <!--                                    {{fieldObj.ctrlByname?fieldObj.ctrlByname:fieldObj.fieldByname}}-->
                                      {{fieldObj.ctrlByname}}
                                    </div>
                                  </li>
                                  </draggable>
                                </template>

                                  <!--控件-->
                                    <template  v-if="designerType != 1">
                                      <draggable
                                        class="components-draggable"
                                        :list="obj00.items"
                                        :sort="false"
                                        :options="trashOptions"
                                        @start="onStardddt"
                                        :clone="cloneComponent"
                                        :move="moveCtrlxx"
                                        @end="onEnd"
                                        :data-com-type="5"
                                      >
                                        <template v-for="(obj2,index3) in obj00.items">
                                          <li v-if="formTypeId != 3 || !obj2.noSearch"
                                            @click.stop="clickToAddCtrlToDesigner($event,index,index3)"
                                            style=""
                                            class="pd-elem-li"
                                            :title="$t('dpage.dragToDgn')"
                                            :data-column-byname="obj2.name"
                                            :data-fld-id="-1"
                                            :data-is-new-ctrl="obj2.type == 'p'?0:1"
                                            :data-is-page-assembly="obj2.type == 'p'?1:0"
                                            data-field-name=""
                                            :data-column-type="obj2.id"
                                            :data-ent-id="(obj2.type != 'p' ? entId : -1)"
                                            :data-is-new-child-entity="(obj2.isNewChildEntity == true?1:0)"
                                            :data-form-id="0"
                                            :data-is-child-form="(obj2.isNewChildEntity == true?1:0)"
                                            :data-is-single-mode="(obj2.isSingleMode == true?1:0)"
                                            :data-is-drow-down="(obj2.isDrowDown == true?1:0)"
                                            :data-is-num-ctrl="(obj2.isNumCtrl == true?1:0)"
                                            :data-is-support-exam="(obj2.supportExam == true?1:0)"
                                            :data-is-support-vote="(obj2.supportVote == true?1:0)"
                                            :data-is-support-img="(obj2.supportImg == true?1:0)"
                                            :data-is-support-score="(obj2.supportScore == true?1:0)"
                                            :data-is-option-mode="(obj2.optionMode ?obj2.optionMode:0)"
                                            :data-is-ctrl-mode="(obj2.ctrlMode?obj2.ctrlMode:0)"
                                            :data-is-data-mode="(obj2.dataMode?obj2.dataMode:0)"
                                            :data-is-data-type="(obj2.dataType?obj2.dataType:'')"
                                          >

                                            <!--                              if (obj2.optionMode != undefined)-->
                                            <!--                              optionMode="" + obj2.optionMode + ""//选项的样式：1单选控件+文本，2仅单选控件，3星，4手，5心，6渐变色-->
                                            <!--                              if (obj2.ctrlMode != undefined)-->
                                            <!--                              ctrlMode="" + obj2.ctrlMode + ""//-->
                                            <!--                              if (obj2.dataMode != undefined)-->
                                            <!--                              dataMode="" + obj2.dataMode + ""//多选项默认的数据，例如：是，否；对，错；男，女；等等-->
                                            <!--                              if (obj2.dataType != undefined)-->
                                            <!--                              dataType="" + obj2.dataType + ""//默认数据类型-->

                                            <!--                              if (obj2.isNewChildEntity == true)-->
                                            <!--                              isNewChildEntity="1" data-isChildForm="1" data-formId="0" //从体-->
                                            <!--                              if (obj2.isSingleMode == true)-->
                                            <!--                              isSingleMode="1"//单选，还是多选）-->
                                            <!--                              if (obj2.isDrowDown == true)-->
                                            <!--                              isDrowDown="1"//是否下拉-->
                                            <!--                              if (obj2.isNumCtrl == true)-->
                                            <!--                              isNumCtrl="1"//是否量表控件-->
                                            <!--                              if (obj2.supportExam == true)-->
                                            <!--                              supportExam="1"//是否支持考试模式，即题目是否有分数-->
                                            <!--                              if (obj2.supportVote == true)-->
                                            <!--                              supportVote="1"//是否支持投票，可以显示每选项的比票，选此项的人数和比例，统计时也显示相应的统计图表-->
                                            <!--                              if (obj2.supportImg == true)-->
                                            <!--                              supportImg="1"//每个选项是否显示图片-->
                                            <!--                              if (obj2.supportScore == true)-->
                                            <!--                              supportScore="1"//每个选项是否支持打分数，统计时可以显示相应的统计-->
                                            <!--                              >-->

                                            <template v-if="!com.isNull(obj2.fontClass)">
                                              <div class="pd-icon" >
                                                <i :class="'fa fa-' + obj2.fontClass " icon="plus" data-icon="mobile-phone"
                                                   :style="(!com.isNull(obj2.iconCss) ? obj2.iconCss : '')"></i>
                                              </div>
                                              <div class="pd-text" :style="(!com.isNull(obj2.textCss) ? obj2.textCss : '')">
                                                {{obj2.name}}
                                              </div>
                                            </template>
                                            <template v-else-if="!com.isNull(obj2.html)">
                                              <span v-html="obj2.html"></span>
                                            </template>
                                            <template v-else>
                                              <div class="pd-icon" >
                                                <i class="fa fa-envelope-o" icon="plus" data-icon="mobile-phone"
                                                   :style="(!com.isNull(obj2.iconCss) ? obj2.iconCss : '')"></i>
                                              </div>
                                              <div class="pd-text" :style="(!com.isNull(obj2.textCss) ? obj2.textCss : '')">
                                                {{obj2.name}}
                                              </div>
                                            </template>
                                          </li>
                                        </template>
                                      </draggable>
                                    </template>
                                  <!--页面元素-->
                                    <template  v-else>
                                      <draggable
                                        class="components-draggable"
                                        :list="obj00.items"
                                        :sort="false"
                                        :options="trashOptions"
                                        @start="onStardddt"
                                        :clone="cloneComponent"
                                        :move="moveCtrlxx"
                                        @end="onEnd"
                                        :data-com-type="5"
                                      >

                                      <!--                                   v-if="obj3.id != 41 || designerType != 5"   {{ obj00.items}}-->
                                      <li v-for="(obj7,index7) in obj00.items"
                                          @click.stop="clickToAddPageElem($event,index,index7)"
                                          style=""
                                          class="pd-elem-li" :title="$t('dpage.dragToDgn')"
                                          :data-column-byname="obj7.name"
                                          :data-fld-id="-1"
                                          :data-is-page-assembly="1"
                                          data-field-name=""
                                          :data-column-type="obj7.id"
                                          :data-ent-id="-1">
<!--                                         <template  v-if="obj7.fontClass&&obj7.fontClass!=''">-->
                                           <div class="pd-icon" >
                                               <i :class="'fa fa-'+obj7.fontClass"
                                                  icon="plus"
                                                  data-icon="mobile-phone"
                                                  :style="(obj7.iconCss?obj7.iconCss:'')"></i>
                                              </div>
                                              <div class="pd-text" >
                                                {{obj7.name}}
                                               </div>
                                      </li>
                                      </draggable>
                                    </template>
                            </ul>
                            <div v-if="index==0&&designerType == 2 && mainObj.formTypeId == 2"
                                 class="curStyleScheme clearfix" style="float: left;clear: none;text-align: center;margin-bottom: 10px;width: 100%;">
                              <button @click="clickCreateMoreField" class="btn btn-default fl" :title="$t('dform.createMoreField')" id="buildNewFields2" style="color: #777;margin-left:0px;width:120px;margin-top:20px;">
                                {{$t('common.create')}} {{$t('dform.newlyField')}}
                              </button>
                            </div>

                          </div>
                        </template>
                      </div>
                    </div>
                  </div>
                </div>
              </div>
              <!-- 页面属性 -->
              <form v-show="showPropertiesSet" style="width: 100%; margin-left: 0px;" id="form_Properties"
                    class="noI no-tab2 no-tab" action="#">
                <!--整体属性-->
<!--                designerType:2,表单(再由formTypeId决定是什么类型的表单);1,页面设计;3,搜索;4,明细;5,报表;-->
                <form-property-panel v-if="designerType==2&&curLeftTopTabId==2"
                                     ref="mainPptPanel"
                                     :isModeDD="isModeDD"
                                     :dgnEntId="entId"
                                     :formId="entId"
                                     :dbTableFieldList="dbTableFieldList"
                                     :childEntityList="childEntityList"
                                     :fieldListObj="fieldListObj"
                                     :fieldList="fieldListObj"
                                     :pageJson="pageJson"
                                     :mainObj="mainObj"
                                     :isShow="true"
                                     @returnValue="returnAndDealSelectImage"
                ></form-property-panel>
                <search-property-panel v-if="designerType==3&&curLeftTopTabId==2"
                                       ref="mainPptPanel"
                                       :isModeDD="isModeDD"
                                       :dgnEntId="entId"
                                       :formId="entId"
                                       :childEntityList="childEntityList"
                                       :fieldListObj="fieldListObj"
                                       :pageJson="pageJson"
                                       :mainObj="mainObj"
                                       :isShow="true"
                                       @returnValue="returnAndDealSelectImage"
                ></search-property-panel>
                <browse-property-panel v-if="designerType==4&&curLeftTopTabId==2"
                                       ref="mainPptPanel"
                                       :isModeDD="isModeDD"
                                       :dgnEntId="entId"
                                       :formId="entId"
                                       :childEntityList="childEntityList"
                                       :fieldListObj="fieldListObj"
                                       :pageJson="pageJson"
                                       :mainObj="mainObj"
                                       :isShow="true"
                                       @returnValue="returnAndDealSelectImage"
                ></browse-property-panel>
               <report-property-panel  v-if="reportObj&&designerType==5&&curLeftTopTabId==2"
                                   :elemObj="curElemJson"
                                   :mainObj="mainObj"
                                   :fieldListObj="fieldListObj"
                                   :childEntityList="childEntityList"
                                   :entId="entId"
                                   :pageTypeId="pageTypeId"
                                   :designerType="designerType"
                                   :reportObj="reportObj"
                                   :pageJson="pageJson"
                                   :reportId="reportObj?reportObj.reportId:0"
                                   :isInTab="elemIsInTab"
                                   @returnChangedValues="dealElemChange"
                ></report-property-panel>
                <page-property-panel v-if="designerType==1&&curLeftTopTabId==2"
                                    ref="mainPptPanel"
                                     :isModeDD="isModeDD"
                                     :dgnEntId="entId"
                                     :pageJson="pageJson"
                                     :mainObj="mainObj"
                                     :isShow="true"
                                     @returnValue="returnAndDealSelectImage"
                ></page-property-panel>
              </form>
               <!-- 外观样式 -->
              <div v-show="showStyleContainer" style="" id="divStyleContainer"
                   class="no-tab no-tab2 clearfix fieldsarea">
                <div id="shake" ref="shake">
                  <div id="divStyle" ref="divStyle">
                    <div class="pd-bar pd-form" :style=" (styleTabWidth > 100 ? 'width:' + styleTabWidth + 'px': '') ">
                    <div class="" style="margin-bottom:10px;color:orange;">{{$t('dpage.batchEffetGroupArea')}}</div>
                      <div class="pd-tab" style="">
                        <ul v-if="styleTabList!=null" class="pd-tabul clearfix" style="">
                          <li v-for="(obj,i) in styleTabList" :key="i"
                              class="pd-tabli " @click="clickStyleTab($event,obj.id)"
                              :class="{ 'tab-cur':curStyleTab == obj.id}"
                              :data-tab-id="obj.id"
                              :style="'width:' + (100.0 / styleTabList.length - 1.3) + '%;'" >
                            <div class="" style="width: 100%;text-align:center;" >
                              {{obj.groupName}}
                            </div>
                          </li>
                        </ul>
                         <!--整体风格-->
                        <div v-if="curStyleTab == 1" v-show="curStyleTab == 1" class="pd-tab-cnt a-scheme" style="" :data-tab-id="1">
                          <div class="style_pad clearfix" style="">
                            <ul v-if="designerType == 2 || designerType == 3 || designerType == 4" style="width: 391px; margin-left:0px;" id="formStyleSet" class="clearfix">
                              <li style="width: 100%;float: left;clear: none;display: block;" data-typeid="4" class="" id="liByStyle">
                                <fieldset class="property-item" style="">
                                  <legend style="float: left;clear: none;width:60px;font-size: 13px;color: #999;padding: 0px;position: relative;top:2px;font-size: 14px;">
                                    {{$t('dpage.totalStyle')}}</legend>
                                  <div class="fieldpro-div" style="float: left;clear: none;padding: 0;">
                                    <el-radio-group v-model="entStyleId" @change="changeEntStyleId">
                                      <el-radio :label="1">{{$t('dpage.waterfall')}}</el-radio>
                                      <el-radio :label="2">{{$t('dpage.tableau')}}</el-radio>
                                    </el-radio-group>
                                  </div>
                                </fieldset>
                              </li>
                              <li style="width: 100%;float: left;clear: none;display: block;" data-typeid="1" class="" id="liRowCol">
                                <fieldset class="property-item" style="">
                                  <legend
                                    style="float: left;clear: none;width:60px;font-size: 13px;color: #999;padding: 0px;position: relative;top:2px;font-size: 14px;">
                                    {{$t('dpage.everyRowColumn')}}</legend>
                                  <div class="fieldpro-div" style="float: left;clear: none;padding: 0;">
                                    <el-radio-group v-model="columnCount" @change="changeColumnCount">
                                      <el-radio :label="1">1{{$t('dpage.column')}}</el-radio>
                                      <el-radio :label="2">2{{$t('dpage.column')}}</el-radio>
                                      <el-radio :label="3">3{{$t('dpage.column')}}</el-radio>
                                      <el-radio :label="4">4{{$t('dpage.column')}}</el-radio>
                                      <el-radio :label="0">{{$t('common.close3')}}</el-radio>
                                    </el-radio-group>
                                  </div>
                                </fieldset>
                              </li>
                            </ul>
                            <div class="curStyleScheme" style="float: left;clear: none;text-align: center;margin-bottom: 10px;width: 100%;">
                              <button @click="clickRemoveTheme"
                                      v-show="hadSetShceme"
                                      class="btn btn-default fl" id="removeTheme"
                                      style="width:120px;">{{$t('dpage.cancelScheme')}} </button>
                              <button @click="clickClearAllStyle" class="btn btn-default fl" id="removeAllStyle"
                                      style="margin-left:15px;width:120px;">{{$t('dpage.clearAllStyle')}} </button>
                            </div>
                            <div v-for="(obj3,i3) in styleSchemeList" :key="i3" class="formBuilder_color_items"
                                 @click="clickSchemeToSelect($event,i3)"
                                 :data-scheme="obj3.css"
                                 :data-key="obj3.key"
                                 :data-name="obj3.name"
                                 style="height: 110px;float: left;clear: none;width:43%;">
<!--                            "1 640px,2 16px,3 25px,4 cc679f,5 00000,6 6d0d64,7 ffffff,8 f5d5e4,9 5c0b54,10 cc5e9b,11 dfadc5,12 5c0b54"-->
<!--                            "css": "1 640px,2 16px,3 25px,4 336699,5 000000,6 6699cc,7 000000,8 FFFFFF,9 000000,10 7C7C7C,11 FFF8DC,12 000000"-->
<!--                            "css": "1 表单宽度,2 字段标题字体大小,3 字段标题行高line-height,4 背景色,5 字体颜色,6 顶栏背景色,7 顶栏字体颜色-->
<!--                            ,8 内容区域背景色,9 内容区域字体颜色,10 副标题文本颜色,11 被点击的当前区域的背景色,12 被点击的当前区域的字体颜色"-->
                              <div class="color_show_block csbs"
                                   :data-bk="obj3.css2[3]"
                                   :data-t="obj3.css2[4]"
                                   :style="'background-color:#' + obj3.css2[3] + ';color:#' + obj3.css2[4] + ';'">
                                <div class="csb_title csbs" style-name="formBuilder_color_title" bk="6699cc" t="000000"
                                     :style="'font-size: 14px;line-height: 22px;height: 22px;background-color:#' + obj3.css2[5] + ';color:#' + obj3.css2[6] + ';'">
                                  {{obj3.name}}
                                </div>
                                <div class="csb_contect csbs" style-name="formBuilder_color_form"
                                     :data-bk="obj3.css2[7]"
                                     :data-t="obj3.css2[8]"
                                     style="height: 80px;">
                                  <p class="csb_stitle"
                                     :style="'height: auto;padding: 5px 5px 5px 10px;font-size: 13px;background-color:#' + obj3.css2[7] + ';color:#' + obj3.css2[4] + ';'">
                                    {{$t('dpage.fieldText')}}
                                  </p>
  <!--                                <p class="csb_stitle" style="height: auto;padding: 0px 0px 3px 3px;margin-top:6px;font-size: 12px;background-color:#' + obj3.css2[7] + ';color:#' + obj3.css2[8] + ';">字段文本</p>-->
  <!--                                <p class="csb_des csbs" style-name="formBuilder_color_instruction" t="' + obj3.css2[8] + '" style="height: auto;padding: 0px 0px 3px 3px;font-size: 12px;background-color:#' + obj3.css2[8] + ';color:#' + obj3.css2[8] + ';">副标题文本</p>-->
                                  <p class="csb_highlight csbs"
                                     :data-bk="obj3.css2[10]"
                                     :data-t="obj3.css2[11]"
                                     style-name="formBuilder_color_highlight"
                                     :style="'height: auto;padding: 5px 5px 7px 10px;font-size: 13px;background-color:#' + obj3.css2[10] + ';color:#' + obj3.css2[11] + ';'">
                                    {{$t('dpage.clickedArea')}}
                                  </p>
                                  </div>
                                </div>
                            </div>
                          </div>
                         </div>
                        <!--整个页面-->
                        <div v-if="curStyleTab == 2" v-show="curStyleTab == 2" class="pd-tab-cnt a-scheme" style="" :data-tab-id="2">
<!--                      {{cssOption2}}-->
                          <com-css-dgn
                                                    :cssStr="cssOption2.cssStr"
                                                    :typeId="cssOption2.typeId"
                                                    :html="cssOption2.html"
                                                    :key1="cssOption2.key1"
                                                    :key2="cssOption2.key2"
                                                    :isIn="cssOption2.isIn"
                                                    :dealFn="cssOption2.dealFn"
                          ></com-css-dgn>
                        </div>
                        <!--组-->
                        <div v-if="curStyleTab == 3" v-show="curStyleTab == 3" class="pd-tab-cnt a-scheme" style="" :data-tab-id="3">
                          <com-css-dgn
                            :cssStr="cssOption3.cssStr"
                            :typeId="cssOption3.typeId"
                            :html="cssOption3.html"
                            :key1="cssOption3.key1"
                            :key2="cssOption3.key3"
                            :isIn="cssOption3.isIn"
                            :dealFn="cssOption3.dealFn"
                          ></com-css-dgn>
                        </div>
                        <!--区域-->
                        <div v-if="curStyleTab == 4" v-show="curStyleTab == 4" class="pd-tab-cnt a-scheme" style="" :data-tab-id="4">
                          <com-css-dgn
                            :cssStr="cssOption4.cssStr"
                            :typeId="cssOption4.typeId"
                            :html="cssOption4.html"
                            :key1="cssOption4.key1"
                            :key2="cssOption4.key4"
                            :isIn="cssOption4.isIn"
                            :dealFn="cssOption4.dealFn"
                          ></com-css-dgn>
                        </div>
                           <!--字段、字段标题-->
                        <div v-if="curStyleTab == 5" v-show="curStyleTab == 5" class="pd-tab-cnt a-scheme" style="" :data-tab-id="2">

                            <div class="pd-bar pd-form" style="width: 100%;">
                              <div class="pd-tab" style="">
                                <ul v-if="styleFieldTabList!=null" class="pd-tabul clearfix" style="margin: 0px auto;width: 310px;;">
                                  <li v-for="(obj2,i2) in styleFieldTabList" :key="i2"
                                      class="pd-tabli "
                                      @click="clickStyleFieldTab($event,obj2.id)"
                                      :class="{ 'tab-cur':curStyleFieldTab == obj2.id}"
                                      :data-tab-id="obj2.id"
                                      :style="'width:' + (100.0 / styleFieldTabList.length - 1.3) + '%;'" >
                                    <div class="" style="width: 100%;text-align:center;" >
                                      {{obj2.groupName}}
                                    </div>
                                  </li>
                                </ul>
                                <!--字段标题-->
                                <div v-show="curStyleFieldTab==5" v-if="curStyleFieldTab==5" class="pd-tab-cnt a-scheme" style="" data-tabid="5">
                                  <com-css-dgn
                                    :cssStr="cssOption5.cssStr"
                                    :typeId="cssOption5.typeId"
                                    :html="cssOption5.html"
                                    :key1="cssOption5.key1"
                                    :key2="cssOption5.key5"
                                    :isIn="cssOption5.isIn"
                                    :dealFn="cssOption5.dealFn"
                                  ></com-css-dgn>
                                </div>
                                <!--选项-->
                                <div v-show="curStyleFieldTab==6" v-if="curStyleFieldTab==6" class="pd-tab-cnt a-scheme" style="" data-tabid="6">
                                    <com-css-dgn
                                      :cssStr="cssOption6.cssStr"
                                      :typeId="cssOption6.typeId"
                                      :html="cssOption6.html"
                                      :key1="cssOption6.key1"
                                      :key2="cssOption6.key6"
                                      :isIn="cssOption6.isIn"
                                      :dealFn="cssOption6.dealFn"
                                    ></com-css-dgn>
                                  </div>
                                <!--字段描述-->
                                <div v-show="curStyleFieldTab==7" v-if="curStyleFieldTab==7" class="pd-tab-cnt a-scheme" style="" data-tabid="7">
                                  <com-css-dgn
                                    :cssStr="cssOption7.cssStr"
                                    :typeId="cssOption7.typeId"
                                    :html="cssOption7.html"
                                    :key1="cssOption7.key1"
                                    :key2="cssOption7.key7"
                                    :isIn="cssOption7.isIn"
                                    :dealFn="cssOption7.dealFn"
                                  ></com-css-dgn>
                                </div>
                                <!--控件-->
                                <div v-show="curStyleFieldTab==8" v-if="curStyleFieldTab==8" class="pd-tab-cnt a-scheme" style="" data-tabid="8">
                                  <com-css-dgn
                                    :cssStr="cssOption8.cssStr"
                                    :typeId="cssOption8.typeId"
                                    :html="cssOption8.html"
                                    :key1="cssOption8.key1"
                                    :key2="cssOption8.key8"
                                    :isIn="cssOption8.isIn"
                                    :dealFn="cssOption8.dealFn"
                                  ></com-css-dgn>
                                </div>
                              </div>
                            </div>

                        </div>
                                         <!--页面元素-->
                        <div v-if="curStyleTab == 9" v-show="curStyleTab == 9" class="pd-tab-cnt a-scheme" style="" :data-tab-id="9">
                          <com-css-dgn
                            :cssStr="cssOption9.cssStr"
                            :typeId="cssOption9.typeId"
                            :html="cssOption9.html"
                            :key1="cssOption9.key1"
                            :key2="cssOption9.key9"
                            :isIn="cssOption9.isIn"
                            :dealFn="cssOption9.dealFn"
                          ></com-css-dgn>
                        </div>


                      </div>
                    </div>
                  </div>
                </div>
              </div>
              <!--区域、字段设置区-->
              <form v-show="showAreaProperties" style="width: 100%;" id="areaProperties" class="noI  no-tab no-tab2">
                <div class="propert-div" style="margin-bottom: 20px;display:none;">
                  <el-radio-group v-model="designMode">
                    <el-radio :label="1">{{ $t('dpage.fieldDesign') }}</el-radio>
                    <el-radio :label="2">{{ $t('dpage.areaDesign') }}</el-radio>
                  </el-radio-group>
                </div>
                <ul style="margin-top: 20px; display: block; width: 100%; margin-left: 0px;" id="ul_AreaProp">
                </ul>
                <!--字段属性、样式-->
                <div v-show="showFieldPropterty" class="pd-bar pd-form no-tab" id="divFieldTab" style="width: 100%;margin-left: 0px;" data-hasload="1">
                  <div class="pd-tab" style="">
                    <ul class="pd-tabul clearfix" style="margin: 0px auto;width: 389px;height: auto;">
                      <li @click="clickFieldPptTab" class="pd-tabli" :class="{'tab-cur':curFieldPptTabId==1}" data-isclick="1" :data-tab-id="1" style="width:23%;height: 34px;">
                        <div class="" style="width: 100%;text-align:center;">{{$t('dpage.property')}}</div>
                      </li>
                      <li @click="clickFieldPptTab" class="pd-tabli" :class="{'tab-cur':curFieldPptTabId>4}" data-isclick="1" :data-tab-id="8" style="width:23%;height: 34px;">
                        <div class="" style="width: 100%;text-align:center;">{{$t('dpage.fieldStyle')}}</div>
                      </li>
                      <li @click="clickFieldPptTab" class="pd-tabli" :class="{'tab-cur':curFieldPptTabId==4}" data-isclick="1" :data-tab-id="4" style="width:23%;height: 34px;">
                        <div class="" style="width: 100%;text-align:center;">{{$t('dpage.areaStype')}}</div>
                      </li>
                      <li @click="clickFieldPptTab" class="pd-tabli" :class="{'tab-cur':curFieldPptTabId==3}" data-isclick="1" :data-tab-id="3" style="width:23%;height: 34px;">
                        <div class="" style="width: 100%;text-align:center;">{{$t('dpage.groupStyle')}}</div>
                      </li>
                    </ul>
                    <ul v-show="curFieldPptTabId>4" class="pd-tabul clearfix" style="margin: 0px auto;width: 389px;height: auto;">
                      <li @mouseover="clickFieldPptTab" class="pd-tabli" :class="{'tab-cur':curFieldPptTabId==8||curFieldPptTabId==9}" :data-tab-id="9" :data-is-tab2="1"
                          style="width:21%;height: 34px;margin-left:6%!important;margin-top:15px!important;;">
                        <div class="" style="width: 100%;text-align:center;">{{designerType==2?$t('common.ctrl'):$t('common.field')}}</div>
                      </li>
                      <li @mouseover="clickFieldPptTab" class="pd-tabli" :class="{'tab-cur':curFieldPptTabId==5}" :data-tab-id="5" :data-is-tab2="1"
                          style="width:21%;height: 34px;margin-top:15px!important;">
                        <div class="" style="width: 100%;text-align:center;">{{$t('dpage.title')}}</div>
                      </li>
                      <li v-if="designerType==2" @mouseover="clickFieldPptTab" class="pd-tabli" :class="{'tab-cur':curFieldPptTabId==6}" :data-tab-id="6" :data-is-tab2="1"
                          style="width:21%;height: 34px;margin-top:15px!important;">
                        <div class="" style="width: 100%;text-align:center;">{{$t('dpage.option')}}</div>
                      </li>
                      <li @mouseover="clickFieldPptTab" class="pd-tabli" :class="{'tab-cur':curFieldPptTabId==7}" :data-tab-id="7" :data-is-tab2="1"
                          style="width:21%;height: 34px;margin-top:15px!important;">
                        <div class="" style="width: 100%;text-align:center;">{{$t('dpage.describe')}}</div>
                      </li>
                    </ul>
                    <div v-show="curFieldPptTabId==1" class="pd-tab-cnt a-scheme" style="" :data-tab-id="1" data-hasload="1">
<!--                      designerType:2,表单(再由formTypeId决定是什么类型的表单);1,页面设计;3,搜索;4,明细;5,报表;isNaN(busId) || busId < 1 ||  || isNull(busName)-->
                      <ul v-if="designerType==4&&curFieldJson!=null" style="margin-top: 10px; width: 300px; margin-left: 10px; width: 100%; margin-left: 0px;" id="ul_fieldPro">
                        <!--标题 v-else -->
                        <li style=" border-bottom: 0px solid #eee; padding-bottom: 0px;" id="li_ctrlByname33" class="clear ui-sortable-handle">
                          <fieldset class="property-item" style="margin-left: 15px;">
                            <legend style="margin-left: 0px; font-weight: bold;">{{$t('dpage.title')}} </legend>
                            <div class="fieldpro-div">
                              <!--                             maxlength="255"-->
                              <input    v-model="curFieldJson.ctrlByname"
                                        @change="changeFieldAttrValue($event,'ctrlByname')"
                                        data-attr="ctrlByname"
                                        id="txt_ctrlByname22" type="text" class="text large"
                                        :placeholder="$t('dpage.pleaseEdit')+'...'"
                                        style="height: 36px;line-height: 36px;width: 270px!important; min-width: 48%; margin-left: 5px;"
                              />
                            </div>
                          </fieldset>
                        </li>
                          <!--控件类型-->
                        <li style="display: block; border-bottom: 0px solid rgb(238, 238, 238); padding-bottom: 10px;" title="" id="li_CurCtrlTypeId" iscurfieldname="1" class="clear ui-sortable-handle">
                          <fieldset class="property-item" style="margin-left: 15px;">
                            <legend style="margin-left: 0px; font-weight: bold;">{{$t('dreport.displayFormat')}} </legend>
                            <div class="fieldpro-div">
<!--                              {{curFieldJson.columnType}}-->
                              <select v-if="columnTypeList!=null"  @change="changeFieldAttrValue($event,'columnType')"
                                      v-model="curFieldJson.columnType"
                                      data-attr="columnType"
                                      id="ddlFieldFormat" style="width: 270px!important; min-width: 48%;" class="select full" >
                                <option :value="null" ctypename="">{{$t('dform.selectFormat')}}</option>
                                <optgroup v-for="(group,index1) in columnTypeList" :key="group.groupName"
                                          :label="group.groupName" >
                                  <option v-for="(item,index2) in group.items" :key="index2"
                                          :value="item.value"
                                          :label="item.text"  >
                                    {{item.text}}
                                  </option>
                                </optgroup>

                              </select>
                            </div>
                          </fieldset>
                        </li>
                      </ul>
                      <ul v-if="(designerType==2||designerType==5||designerType==3)&&curFieldJson!=null" style="margin-top: 10px; width: 300px; margin-left: 10px; width: 100%; margin-left: 0px;" id="ul_fieldPro">
                        <!--标题-->
                        <li v-if="designerType==5" muskshow="1" style="border-bottom: 0px solid #eee; padding-bottom: 0px;" id="li_ctrlByname33" isfieldctrlbyname="1" class="clear ui-sortable-handle">
                          <fieldset class="property-item" style="margin-left: 15px;">
                            <legend style="margin-left: 0px; font-weight: bold;">{{$t('dpage.title')}} </legend>
                            <div class="fieldpro-div">
                              <input    v-model="curFieldJson.columnByname"
                                           @input="changeFieldAttrValue($event,'columnByname')"
                                           data-attr="columnByname"
                                           id="txt_ctrlBynamess" type="text"  class="text large"
                                           maxlength="255" :placeholder="$t('dpage.pleaseEdit')+'...'"
                                           style="width: 270px!important; min-width: 48%; margin-left: 5px;"
                              />
                            </div>
                          </fieldset>
                        </li>
                        <!--标题-->
                        <li v-else muskshow="1" style=" border-bottom: 0px solid #eee; padding-bottom: 0px;" id="li_ctrlByname33" isfieldctrlbyname="1" class="clear ui-sortable-handle">
                          <fieldset class="property-item" style="margin-left: 15px;">
                            <legend style="margin-left: 0px; font-weight: bold;">{{$t('dpage.title')}} </legend>
                            <div class="fieldpro-div">
  <!--                             maxlength="255"-->
                              <input    v-model="curFieldJson.ctrlByname"
                                          @change="changeFieldAttrValue($event,'ctrlByname')"
                                         data-attr="ctrlByname"
                                         id="txt_ctrlByname22" type="text" class="text large"
                                         :placeholder="$t('dpage.pleaseEdit')+'...'"
                                         style="height: 36px;line-height: 36px;width: 270px!important; min-width: 48%; margin-left: 5px;"
                                       />
                            </div>
                          </fieldset>
                        </li>
                        <!--绑定字段-->
                        <li v-show="formTypeId!=1&&(isModeDD||isModeDD2)" style="border-bottom: 0px solid rgb(238, 238, 238); padding-bottom: 10px; z-index: 999;" title="" id="li_CurFieldName" iscurfieldname="1" class="clear ui-sortable-handle">
                          <fieldset class="property-item" style="margin-left: 15px;">
                            <legend style="margin-left: 0px; font-weight: bold;">{{$t('dpage.field')}} </legend>
                            <div class="fieldpro-div">
                              <select v-model="curFieldJson.fieldName" id="ddl_curFieldName"
                                         data-attr="fieldName"
                                         @change="selectFieldForCtrl" class="select full" style="width: 270px!important; min-width: 48%;">
                                 <option value="" :data-fld-id="0" :data-field-data-type-id="1">{{$t('dform.selectTableField')}}</option>
                                <template  v-if="canSelectedDbFieldList!=null">
                                  <template v-for="(obj,index) in canSelectedDbFieldList" >
                                    <option
                                      :value="obj.fieldName" :label="obj.ctrlByname" >{{obj.ctrlByname}}</option>
                                  </template>

                                </template>
                               </select>
                            </div>
                          </fieldset>
                        </li>
                        <!--控件类型-->
                        <li style="display: block; border-bottom: 0px solid rgb(238, 238, 238); padding-bottom: 10px;" title="" id="li_CurCtrlTypeId" iscurfieldname="1" class="clear ui-sortable-handle">
                          <fieldset class="property-item" style="margin-left: 15px;">
                            <legend style="margin-left: 0px; font-weight: bold;">{{$t('dpage.ctrlType')}} </legend>
                            <div class="fieldpro-div">
                              <select v-if="leftBarList!=null" @change="changeCtrlTypeId"
                                      v-model="curFieldJson.ctrlTypeId"
                                      data-attr="ctrlTypeId"
                                      id="ddl_ctrlTypeId" style="width: 270px!important; min-width: 48%;" class="select full" >
                                <template v-for="(group,index1) in leftBarList" :key="group.groupName" >
                                  <optgroup :label="group.groupName" v-if="group.groupName!='字段'">
                                    <option v-for="(item,index2) in group.items" :key="index2"
                                            :value="item.id"
                                            :label="item.name"  >
                                      {{item.name}}
                                    </option>
                                  </optgroup>
                                </template>


                              </select>
                            </div>
                          </fieldset>
                        </li>
                        <!--designerType:2,表单(再由formTypeId决定是什么类型的表单);1,页面设计;3,搜索;4,明细;5,报表;-->
                        <div v-if="designerType==3" style="margin:0px;padding: 0px;border:0px;" issearchformfieldppt="1" >
                          <li style="width: 100%;display: block;border-bottom: 0px solid #eee;padding-bottom: 0px;" id="li1" muskshow="0" class="clear" iss="1" :title="$t('dpage.upDownDrag')">
                            <fieldset class="property-item" style="margin-left:15px;">
                              <legend style="margin-left:0px;font-weight :bold ;">{{$t('dform.compareField3')}}
                                <span style="color: red;margin-left:3px;font-size: 14px;">*</span>
                              </legend>
                              <div class="fieldpro-div listPopulate">
                                    <select v-model="ctrlBindFieldName" @change="changeSearchCtrlBindField"
                                            data-attr="bindField" id="ddl_bindField" class="select full" style="width:250px;">
                                      <option value="" data-fldid="0" data-fielddatatypeid="1">{{$t('dform.selectCompare')}}</option>
                                      <template v-if="compareFieldList!=null">
                                        <template  v-if="compareFieldList.length>0&&compareFieldList[0].items">
                                          <template v-if="compareFieldList.length>1">
                                            <optgroup v-for="(group,index1) in compareFieldList" :label="group.groupName">
                                              <option v-for="(fieldObj,index2) in group.items"
                                                         :value="fieldObj.fieldName" :label="fieldObj.fieldByname"  >{{fieldObj.ctrlByname}}</option>
                                            </optgroup>
                                          </template>
                                          <template v-if="compareFieldList.length==1">
                                            <option v-for="(fieldObj,index2) in compareFieldList[0].items"
                                                       :value="fieldObj.fieldName"
                                                       :label="fieldObj.fieldByname"  >{{fieldObj.ctrlByname}}</option>
                                          </template>
                                        </template>
                                        <template v-else>
                                          <template v-for="(fieldObj,index3) in compareFieldList" >
                                            <option v-if="fieldObj.fieldName!=''||index3==0"
                                                    :value="fieldObj.fieldName"
                                                    :label="fieldObj.fieldByname" >
                                              {{fieldObj.ctrlByname}}
                                            </option>
                                          </template>
                                        </template>
                                      </template>
                                     </select>
                             </div>
                            </fieldset>
                          </li>
                          <li style="width: 100%;display: block;border-bottom: 0px solid #eee;padding-bottom: 0px;" id="li2" muskshow="0" class="clear" iss="1" :title="$t('dpage.upDownDrag')">
                            <fieldset class="property-item" style="margin-left:15px;">
                              <legend style="margin-left:0px;font-weight :bold ;">{{$t('dform.compare')}}<span style="color: red;margin-left:3px;font-size: 14px;">*</span>
                              </legend>
                              <div class="fieldpro-div listPopulate">
                                   <select v-model="curFieldJson.extAttr.compareType" @change="changeCompareType"
                                          data-attr="compareOperatorType" id="ddl_compareOperatorType" class="select full" style="width:250px;">
                                    <option v-if="compareOperatorTypeList!=null"
                                            v-for="(obj,index) in compareOperatorTypeList"
                                            :value="obj.value" :label="obj.text" >
                                      {{obj.text}}
                                    </option>
                                  </select>

                            </div>
                            </fieldset>
                          </li>
                        </div>
                        <!--选项设置-->
                        <com-select-option v-if="showSelectOption&&curFieldJson"
                                           :fieldObj0="curFieldJson"
                                           :fieldList="fieldListObj"
                                           :fieldListObj="fieldListObj"
                                           :pageJson="pageJson"
                                           :moduleTypeId="moduleTypeId"
                                           :formTypeId="mainObj.formTypeId"
                                           :mainObj="mainObj"
                                           :isModeDD="isModeDD"
                                           :isShow="showSelectOption"
                                           :fldId="curFieldJson.fldId"
                                           @returnChangedValues="fieldReturnAndDeal"></com-select-option>
                        <!--开关控件-->
                        <switch-set v-if="curFieldJson&&curFieldJson.ctrlTypeId==55"
                                    :fieldObj0="curFieldJson"
                                    :fieldList="fieldListObj"
                                    :moduleTypeId="moduleTypeId"
                                    :formTypeId="mainObj.formTypeId"
                                    :mainObj="mainObj"
                                    :isModeDD="isModeDD"
                                    :isShow="true"
                                    :fldId="curFieldJson.fldId"
                                    @returnChangedValues="fieldReturnAndDeal"></switch-set>
                        <!--部门选择控件-->
                        <dept-selector-set v-if="curFieldJson&&(curFieldJson.ctrlTypeId==78)"
                                                :fieldObj0="curFieldJson"
                                                :fieldList="fieldListObj"
                                                :moduleTypeId="moduleTypeId"
                                                :formTypeId="mainObj.formTypeId"
                                                :mainObj="mainObj"
                                                :isModeDD="isModeDD"
                                                :isShow="true"
                                           :fldId="curFieldJson.fldId"
                                           @returnChangedValues="fieldReturnAndDeal"></dept-selector-set>
                        <!--用户选择控件-->
                        <user-selector-set v-if="curFieldJson&&(curFieldJson.ctrlTypeId==77)"
                                           :fieldObj0="curFieldJson"
                                           :fieldList="fieldListObj"
                                           :moduleTypeId="moduleTypeId"
                                           :formTypeId="mainObj.formTypeId"
                                           :mainObj="mainObj"
                                           :isModeDD="isModeDD"
                                           :fldId="curFieldJson.fldId"
                                           :isShow="true"
                                           @returnChangedValues="fieldReturnAndDeal"></user-selector-set>
                        <!--树下拉选择控件-->
                        <tree-set v-if="curFieldJson&&(curFieldJson.ctrlTypeId==40)"
                                  :fieldObj0="curFieldJson"
                                  :fieldList="fieldListObj"
                                  :moduleTypeId="moduleTypeId"
                                  :formTypeId="mainObj.formTypeId"
                                  :mainObj="mainObj"
                                  :isModeDD="isModeDD"
                                  :fldId="curFieldJson.fldId"
                                  :isShow="true"
                                  @returnChangedValues="fieldReturnAndDeal"></tree-set>
                        <!--滑块控件-->
                        <slider-set v-if="curFieldJson&&(curFieldJson.ctrlTypeId==54)"
                                    :fieldObj0="curFieldJson"
                                    :fieldList="fieldListObj"
                                    :moduleTypeId="moduleTypeId"
                                    :formTypeId="mainObj.formTypeId"
                                    :mainObj="mainObj"
                                    :isModeDD="isModeDD"
                                    :fldId="curFieldJson.fldId"
                                    :isShow="true"
                                    @returnChangedValues="fieldReturnAndDeal"></slider-set>
                        <!--评分控件-->
                        <star-set v-if="curFieldJson&&(curFieldJson.ctrlTypeId==51)"
                                  :fieldObj0="curFieldJson"
                                  :fieldList="fieldListObj"
                                  :moduleTypeId="moduleTypeId"
                                  :formTypeId="mainObj.formTypeId"
                                  :mainObj="mainObj"
                                  :isModeDD="isModeDD"
                                  :isShow="true"
                                  @returnChangedValues="fieldReturnAndDeal"></star-set>
                        <!--上传文件控件-->
                        <upload-file-set v-if="curFieldJson&&(curFieldJson.ctrlTypeId==33)"
                                         :fieldObj0="curFieldJson"
                                         :fieldList="fieldListObj"
                                         :moduleTypeId="moduleTypeId"
                                         :formTypeId="mainObj.formTypeId"
                                         :mainObj="mainObj"
                                         :isModeDD="isModeDD"
                                         :isShow="true"
                                         :fldId="curFieldJson.fldId"
                                         @returnChangedValues="fieldReturnAndDeal"></upload-file-set>
                        <!--上传图片控件-->
                        <upload-file-set v-if="curFieldJson&&(curFieldJson.ctrlTypeId==43)"
                                         :fieldObj0="curFieldJson"
                                         :fieldList="fieldListObj"
                                         :moduleTypeId="moduleTypeId"
                                         :formTypeId="mainObj.formTypeId"
                                         :mainObj="mainObj"
                                         :isModeDD="isModeDD"
                                         :isShow="true"
                                         :fldId="curFieldJson.fldId"
                                         @returnChangedValues="fieldReturnAndDeal"></upload-file-set>
                        <!--报表查询控件-->
                        <selector-set0 v-if="curFieldJson&&(curFieldJson.ctrlTypeId==38)"
                                         :fieldObj0="curFieldJson"
                                         :fieldListObj="fieldListObj"
                                       :dgnFieldList="fieldListObj"
                                       :moduleTypeId="moduleTypeId"
                                       :childEntityList0="childEntityList"
                                       :pageJson="pageJson"
                                       :formObj="formObj"
                                         :formTypeId="mainObj.formTypeId"
                                         :mainObj="mainObj"
                                         :isModeDD="isModeDD"
                                         :isShow="true"
                                         :fldId="curFieldJson.fldId"
                                         @returnChangedValues="fieldReturnAndDeal"></selector-set0>
                        <!--手写字段名称 -->
                        <li v-show="isModeDD || isModeDD2" muskshow="1" style="border-bottom: 0px solid rgb(238, 238, 238); padding-bottom: 0px;" isfieldctrlbyname="1" class="clear ui-sortable-handle" id="li_fieldName">
                          <fieldset class="property-item" style="margin-left: 15px;">
                            <legend style="margin-left: 0px; font-weight: bold;">{{$t('dpage.fieldName')}} </legend>
                            <div class="fieldpro-div">
                              <el-input v-model="curFieldJson.fieldName"
                                     @input="changeFieldAttrValue($event,'fieldName')"
                                     data-attr="fieldName"
                                     id="txtFieldName" type="text" class="text22 large22" maxlength="255" :placeholder="$t('dpage.pleaseEdit')+'...'"
                                     style="width: 270px!important; min-width: 48%; margin-left: 5px;"></el-input>
                            </div>
                          </fieldset>
                        </li>
                          <!--默认值-->
                        <com-default-value v-if="showDefaultValuePpt&&curFieldJson"
                                           :fieldObj0="curFieldJson"
                                           :fieldList="fieldListObj"
                                           :moduleTypeId="moduleTypeId"
                                           :mainObj="mainObj"
                                           @returnChangedValues="fieldReturnAndDeal"></com-default-value>
                        <!--验证-->
                        <com-field-validate v-if="curFieldJson"
                                           :fieldObj0="curFieldJson"
                                           :fieldList="fieldListObj"
                                            :moduleTypeId="moduleTypeId"
                                            :mainObj="mainObj"
                                           @returnChangedValues="fieldReturnAndDeal"></com-field-validate>
                        <!--各种属性开关-->
                        <div style="display: block;border-bottom: 0px solid #eee;padding-bottom: 10px;width: 100%;" id="li_otherProp"
                             isfieldotherprop="1" class="clear">
                          <li style="display: block;border-bottom: 0px solid #eee;padding-bottom: 10px;" class="clear">
                            <fieldset class="property-item" style="margin-left:15px;padding: 3px 0px 0px;">
                              <legend style="margin-left:0px;font-weight :bold ;">{{$t('chart.other')}}</legend>
                              <div class="fieldpro-div" style=" padding: 8px 0px 0px 7px;" id="div_otherProp">
                                <ol class="clearfix">
                                  <li style="float: left;margin-right: 10px !important;">
                                    <el-checkbox v-model="curFieldJson.isPostToDb" @change="changeFieldAttrValue($event,'isPostToDb','checkbox')">{{$t('dform.saveData')}}</el-checkbox>
  <!--                                    <label class="checkbox_wrap" style="color: #666;">
                                      <input type="checkbox" id="ckb_isPostToDb"
                                                                                             class="checkbox-input-s" checked="checked" data-attr="isPostToDb"
                                                                                             style="margin-right: 6px;"><i></i>&nbsp;{{$t('dform.saveData')}}</label>-->
                                  </li>
                                  <li style="float: left;margin-right: 10px !important;">
                                    <el-checkbox v-model="curFieldJson.forbidAdd" @change="changeFieldAttrValue($event,'forbidAdd','checkbox')">{{$t('dform.forbidAdd')}}</el-checkbox>
  <!--                                    <label class="checkbox_wrap" style="color: #666;">
                                      <input type="checkbox" id="ckb_forbidAdd"
                                                                                             class="checkbox-input-s" checked="checked" data-attr="forbidAdd"
                                                                                             style="margin-right: 6px;"><i></i>&nbsp;{{$t('dform.forbidAdd')}}</label>-->
                                  </li>
                                  <li style="float: left;margin-right: 10px !important;">
                                    <el-checkbox v-model="curFieldJson.forbidUpdate" @change="changeFieldAttrValue($event,'forbidUpdate','checkbox')">{{$t('dform.forbidUpdate')}}</el-checkbox>
  <!--                                    <label class="checkbox_wrap" style="color: #666;">
                                      <input type="checkbox"
                                                                                             id="ckb_forbidUpdate" class="checkbox-input-s" checked="checked"
                                                                                             data-attr="forbidUpdate"
                                                                                             style="margin-right: 6px;"><i></i>&nbsp;{{$t('dform.forbidUpdate')}}</label>-->
                                  </li>
                                  <li style="float: left;margin-right: 10px !important;">
                                    <el-checkbox v-model="curFieldJson.isHidden" @change="changeFieldAttrValue($event,'isHidden','checkbox')">{{$t('common.hide')}}</el-checkbox>
  <!--                                    <label class="checkbox_wrap" style="color: #666;">
                                      <input type="checkbox" id="ckb_isHidden"
                                                                                             class="checkbox-input-s" checked="checked" data-attr="isHidden"
                                                                                             style="margin-right: 6px;"><i></i>&nbsp;{{$t('common.hide')}}</label>-->
                                  </li>
                                  <li style="float: left;margin-right: 10px !important;">
                                    <el-checkbox v-model="curFieldJson.lockValue" @change="changeFieldAttrValue($event,'lockValue','checkbox')">{{$t('dform.valueLock')}}</el-checkbox>
  <!--                                    <label class="checkbox_wrap" style="color: #666;">
                                      <input type="checkbox" id="ckb_valueLock"
                                                                                             class="checkbox-input-s" checked="checked" data-attr="lockValue"
                                                                                             style="margin-right: 6px;"><i></i>&nbsp;{{$t('dform.valueLock')}}</label>-->
                                  </li>
                                </ol>
                              </div>
                            </fieldset>
                          </li>
                          <!--宽度-->
                          <li v-if="canWidth" style="width: 100%;display: block;border-bottom: 0px solid #eee;padding-bottom: 0px;" id="li_FieldWidth"
                              muskshow="0" class="clear" isfieldwidth="1" :title="$t('dpage.upDownDrag')">
                            <fieldset class="property-item" style="margin-left:15px;">
                              <legend style="margin-left:0px;font-weight :bold ;">{{$t('dpage.width')}}</legend>
                              <div class="fieldpro-div listPopulate">
                                <!--宽度-->
                                <com-field-width v-if="canWidth"
                                                 attr="width"
                                                 :fieldObj0="curFieldJson"
                                                 :fieldList="fieldListObj"
                                                 :moduleTypeId="moduleTypeId"
                                                 :mainObj="mainObj"
                                                 @returnChangedValues="fieldReturnAndDeal"></com-field-width>


  <!--                                <div class="clearfix" style="text-align: left;">
                        <span class="nstSlider ui-slider ui-corner-all ui-slider-horizontal ui-widget ui-widget-content"
                              data-range_min="0" data-attr="width" data-range_max="1500" data-cur_min="100"
                              style="width:180px;float: left;clear: none;position: relative;top: 10px;">
                            <div class="ui-slider-range ui-corner-all ui-widget-header ui-slider-range-min"
                                 style="width: 0%; left: 0%;"></div><span tabindex="0"
                                                                          class="ui-slider-handle ui-corner-all ui-state-default" style="left: 0%;"></span>
                        </span>
                                  <input id="inputVId" type="text" class="form-txt" data-attr="width" value="100"
                                         style="padding: 2px; float: left; clear: none; margin-left: 5px; height: 22px; line-height: 22px; position: relative; top: 0px; width: 56px;">
                                  <select id="ddl_pageSize" class="select full form-select" ctrltypeid="81" data-attr="px"
                                          style="float: left; clear: none; margin-left: 5px; width: 100px; padding: 2px 4px;">
                                    <option value="%" selected="">百分比(%)</option>
                                    <option value="px">像素(px)</option>
                                    <option value="auto">自动(auto)</option>
                                  </select>
                                </div>-->
                              </div>
                            </fieldset>
                          </li>
                          <!--高度-->
                          <li v-if="canHeight" style="width: 100%;display: block;border-bottom: 0px solid #eee;padding-bottom: 0px;" id="li_FieldHeight"
                              muskshow="0" class="clear" isfieldheight="1" :title="$t('dpage.upDownDrag')">
                            <fieldset class="property-item" style="margin-left:15px;">
                              <legend style="margin-left:0px;font-weight :bold ;">{{$t('dpage.height')}}</legend>
                              <div class="fieldpro-div listPopulate">
                                <!--高度-->
                                <com-field-width v-if="canHeight"
                                                 attr="height"
                                                 :fieldObj0="curFieldJson"
                                                 :fieldList="fieldListObj"
                                                 :moduleTypeId="moduleTypeId"
                                                 :mainObj="mainObj"
                                                 @returnChangedValues="fieldReturnAndDeal"></com-field-width>
                              </div>
                            </fieldset>
                          </li>
                          <!--填写说明-->
                          <li style="width: 100%;display: block;border-bottom: 0px solid #eee;padding-bottom: 0px;" id="li_remark"
                              muskshow="0" class="clear" isfieldremark="1" :title="$t('dpage.upDownDrag')">
                            <fieldset class="property-item" style="margin-left:15px;">
                              <legend style="margin-left:0px;font-weight :bold ;">{{$t('dform.fieldRemark')}}</legend>
                              <div class="fieldpro-div listPopulate">
                                <el-input v-model="curFieldJson.extAttr.remark" @input="changeFieldAttrValue($event,'remark')"
                                          id="txt_remark" data-attr="remark" style="width: 270px!important;min-width: 48%;clear:both;"
                                       type="text" class="text22 large22" maxlength="255" ></el-input>
                                <div style="display:block;">
                                  <el-checkbox v-model="fieldRemarkWrap"
                                               @change="changeFieldAttrValue($event,'remarkWrap')" data-attr="remarkWrap"
                                               id="ckb_RemarkWrap" style="margin: 5px 3px 0px;clear:left;">
                                  {{$t('dform.wrap')}}</el-checkbox>
                                 </div>
                              </div>
                            </fieldset>
                          </li>
                          <!--placeholder属性值-->
                          <li style="width: 100%;display: block;border-bottom: 0px solid #eee;padding-bottom: 0px;" id="li_placeholder"
                              muskshow="0" class="clear" isplaceholder="1" :title="$t('dpage.upDownDrag')">
                            <fieldset class="property-item" style="margin-left:15px;">
                              <legend style="margin-left:0px;font-weight :bold ;">placeholder{{$t('dform.propertyValue')}}</legend>
                              <div class="fieldpro-div listPopulate">
                                <el-input v-model="curFieldJson.extAttr.placeholder" @input="changeFieldAttrValue($event,'placeholder')" id="txt_placeholder"
                                          data-attr="placeholder"  type="text" class="text22 large22"
                                       style="width: 270px!important;min-width: 48%;clear:both;"
                                          maxlength="255"  ></el-input>
                              </div>
                            </fieldset>
                          </li>
                          <li v-show="curFieldJson.fieldDataTypeId==5||curFieldJson.fieldDataTypeId==7||curFieldJson.fieldDataTypeId==9" style="width: 100%; display: none; border-bottom: 0px solid rgb(238, 238, 238); padding-bottom: 0px;" id="li_ffgh45m" muskshow="0" class="clear" iserqder="1" :title="$t('dpage.upDownDrag')">
                            <fieldset class="property-item" style="margin-left:15px;">
                              <legend style="margin-left:0px;font-weight :bold ;">{{$t('dform.limitScale')}}</legend>
                              <div class="fieldpro-div listPopulate">
                                <el-input v-model="curFieldJson.scale" @input="changeFieldAttrValue($event,'scale')" id="txt_scale"
                                          data-attr="scale" data-dt="1"
                                       style="width: 270px!important;min-width: 48%;clear:both;" type="text" class="text22 large22"
                                          maxlength="10"  ></el-input>
                              </div>
                            </fieldset>
                          </li>
                          <!--控件的ID属性值-->
                          <li style="width: 100%;display: block;border-bottom: 0px solid #eee;padding-bottom: 0px;" id="li_ctrlId"
                              muskshow="0" class="clear" isplaceholder="1" :title="$t('dpage.upDownDrag')">
                            <fieldset class="property-item" style="margin-left:15px;">
                              <legend style="margin-left:0px;font-weight :bold ;">{{$t('dform.ctrlIdValue')}}</legend>
                              <div class="fieldpro-div listPopulate">
                                <el-input v-model="curFieldJson.extAttr.ctrlId" @input="changeFieldAttrValue($event,'ctrlId')"
                                       id="txt_ctrlId" data-attr="ctrlId"
                                       style="width: 270px!important;min-width: 48%;clear:both;"
                                          type="text" class="text22 large22" maxlength="255" ></el-input>
                              </div>
                            </fieldset>
                          </li>
                          <!--SQL数据源时，默认的选项（填选项的文本）-->
                          <li style="width: 100%;display: block;border-bottom: 0px solid #eee;padding-bottom: 0px;"
                              id="li_defaultOptionText" muskshow="0" class="clear" isplaceholder="1" :title="$t('dpage.upDownDrag')">
                            <fieldset class="property-item" style="margin-left:15px;">
                              <legend style="margin-left:0px;font-weight :bold ;">{{$t('dform.sqlDefaultValue')}}</legend>
                              <div class="fieldpro-div listPopulate">
                                <el-input v-model="curFieldJson.extAttr.defaultOptionText"
                                          @input="changeFieldAttrValue($event,'defaultOptionText')" id="txt_defaultOptionText"
                                       data-attr="defaultOptionText"
                                       style="width: 270px!important;min-width: 48%;clear:both;" type="text" class="text22 large22"
                                          maxlength="255" ></el-input>
                              </div>
                            </fieldset>
                          </li>
                          <!--字段名称和表单ID-->
                          <li style="width: 100%;display: block;border-bottom: 0px solid #eee;padding-bottom: 0px;" id="li_fieldnm"
                              muskshow="0" class="clear" ispgholder="1" :title="$t('dpage.upDownDrag')">
                            <fieldset class="property-item" style="margin-left:15px;">
                              <legend style="margin-left:0px;font-weight :bold ;">{{$t('dform.fieldFormId')}}</legend>
                              <div class="fieldpro-div listPopulate">
                                <div id="txhljd" style="width: 270px!important;min-width: 48%;clear:both;" class="text22 large22">
                                  {{$t('dform.fieldName')}}：<span
                                  style="color:orange;">{{curFieldJson.fieldName}}</span>；{{$t('dform.formId2')}}：<span
                                  style="color:orange;">{{entId}}</span></div>
                              </div>
                            </fieldset>
                          </li>
                        </div>
                        <!--选项，跳转-->
                        <div style="margin:0px;padding: 0px;border:0px;" isfieldjumpset="1" ctrltypeid="1" ctrlid="1">
                          <li style="border-bottom: 0px solid #eee;padding-bottom: 0px;" id="li_FieldJump"
                              muskshow="0" class="clear" isfieldjump="1">
                            <fieldset class="property-item" style="margin-left:15px;">
                              <legend style="margin-left:0px;font-weight :bold ;">{{$t("dform.jumpNoCdtn")}}</legend>
                              <div class="fieldpro-div listPopulate" style="">
                                <ul id="ul_radioOption" class="list_st_border clearfix" style=" width:303px;background: #fff;margin-top:0px;margin-bottom:0px;margin-left:5px;padding: 0px 0px 0px 0px; ">
                                  <li style="padding-left: 0px;width:300px;float: left;clear: none;margin: 0 0 0px!important;color:#999;">
                                    <el-checkbox v-model="writeJumpTo">{{$t('dform.writeJumpTo')}}</el-checkbox>
                                    <select v-show="writeJumpTo" id="ddlJumpTo" class="select full"
                                            style="min-width: 48%; width: 150px !important;">
                                      <option value="">{{$t('dform.selectJumpTarget')}}</option>
                                    </select>
                                  </li>
                                  <li style="display: none;padding-left: 0px;width:300px;float: left;clear: none;margin: 10px 0 0px!important;color:#999;">
                                    <legend style="margin-left:0px;font-weight :bold ;margin-top:5px;position:relative;left:-5px;">
                                      {{$t('dform.ctrlShowHide')}}</legend>
                                  </li>
                                  <li style="padding-left: 0px;width:310px;float: left;clear: none;margin: 0px 0 0px 0px!important;">
                                    {{$t('dform.whenCtrl')}}：
                                    <select id="ddlRelatedField" class="select full"
                                            style="width: 140px!important;min-width: 48%;margin-right:3px;">
                                      <option value="0">{{$t('dform.selectCtrl')}}</option>
                                      <option value="4">【{{$t('dform.subjectNumber')}}】下拉选择（{{$t('dform.singleSelect')}}）
                                      </option>
                                    </select>
                                    {{$t('dform.optionSelected2')}}
                                    <div style="width: 100%;" id="divRelatedOptions"></div>
                                    <div style="width: 100%;">{{$t('dform.thenShowCtrl')}}</div>
                                  </li>
                                </ul>
                              </div>
                            </fieldset>
                          </li>
                        </div>
                        <!--控件的JS脚本设置-->
                        <div style="margin:0px;padding: 0px;border:0px;" isctrljsset="1" ctrltypeid="1" ctrlid="1">
                          <li style="width: 100%;display: block;border-bottom: 0px solid #eee;padding-bottom: 0px;" id="li_ctrlJsSet"
                              muskshow="0" class="clear" :title="$t('dpage.upDownDrag')">
                            <fieldset class="property-item" style="margin-left:15px;">
                              <legend style="margin-left:0px;font-weight :bold ;">{{$t('dform.setCtrlJs2')}}</legend>
                              <div class="fieldpro-div listPopulate">
                                <div @click="clickSetCtrlJs2" class="btn btn-default  mr15" style="width: 100px;margin-left: 55px;">{{$t('dform.setBtn2')}}
                                </div>
                              </div>
                            </fieldset>
                          </li>
                        </div>
                        <!--谁能看见此字段？-->
                        <div style="margin:0px;padding: 0px;border:0px;" iswhocanseeset2="1" ctrltypeid="1" ctrlid="1">
                          <li style="width: 100%;display: block;border-bottom: 0px solid #eee;padding-bottom: 0px;" id="li_WhocanSee"
                              muskshow="0" class="clear" iswhocansee="1" :title="$t('dpage.upDownDrag')">
                            <fieldset class="property-item" style="margin-left:15px;">
                              <legend style="margin-left:0px;font-weight :bold ;">{{$t('dform.whoCanSee')}}</legend>
                              <div class="fieldpro-div listPopulate">
                                <el-radio-group  v-model="fieldIsHidden" data-attr="isHidden"
                                                 id="ckbOnlyDesignerSee3" name="ckbWhoSee3"
                                                 @change="changeFieldAttrValue($event,'isHidden')">
                                  <el-radio-button :label="0">{{$t('dform.allPeople')}}</el-radio-button>
                                  <el-radio-button :label="1">{{$t('dform.onlyDesigner')}}</el-radio-button>
                                </el-radio-group>
                              </div>
                            </fieldset>
                          </li>
                        </div>
                      </ul>
                    </div>
                    <div v-show="curFieldPptTabId==3" class="pd-tab-cnt a-scheme" style="margin-left: 10px; " :data-tab-id="3">
                      <com-css-dgn v-if="cssOption3Field.isShow"
                                   :cssStr="cssOption3Field.cssStr"
                                   :typeId="cssOption3Field.typeId"
                                   :html="cssOption3Field.html"
                                   :key1="cssOption3Field.key1"
                                   :key2="cssOption3Field.key2"
                                   :isIn="cssOption3Field.isIn"
                                   :dealFn="cssOption3Field.dealFn"
                      ></com-css-dgn>
                    </div>
                    <div v-show="curFieldPptTabId==4" class="pd-tab-cnt a-scheme" style="margin-left: 10px; " :data-tab-id="4">
                      <com-css-dgn v-if="cssOption4Field.isShow"
                                   :cssStr="cssOption4Field.cssStr"
                                   :typeId="cssOption4Field.typeId"
                                   :html="cssOption4Field.html"
                                   :key1="cssOption4Field.key1"
                                   :key2="cssOption4Field.key2"
                                   :isIn="cssOption4Field.isIn"
                                   :dealFn="cssOption4Field.dealFn"
                      ></com-css-dgn>
                    </div>
                    <div v-show="curFieldPptTabId==5" class="pd-tab-cnt a-scheme" style="margin-left: 10px; " :data-tab-id="5">
                      <com-css-dgn v-if="cssOption5Field.isShow"
                                   :cssStr="cssOption5Field.cssStr"
                                   :typeId="cssOption5Field.typeId"
                                   :html="cssOption5Field.html"
                                   :key1="cssOption5Field.key1"
                                   :key2="cssOption5Field.key2"
                                   :isIn="cssOption5Field.isIn"
                                   :dealFn="cssOption5Field.dealFn"
                      ></com-css-dgn>
                    </div>
                    <div v-show="curFieldPptTabId==6" class="pd-tab-cnt a-scheme" style="margin-left: 10px; " :data-tab-id="6">
                      <com-css-dgn v-if="cssOption6Field.isShow"
                                   :cssStr="cssOption6Field.cssStr"
                                   :typeId="cssOption6Field.typeId"
                                   :html="cssOption6Field.html"
                                   :key1="cssOption6Field.key1"
                                   :key2="cssOption6Field.key2"
                                   :isIn="cssOption6Field.isIn"
                                   :dealFn="cssOption6Field.dealFn"
                      ></com-css-dgn>
                    </div>
                    <div v-show="curFieldPptTabId==7" class="pd-tab-cnt a-scheme" style="margin-left: 10px; " :data-tab-id="7">
                      <com-css-dgn v-if="cssOption7Field.isShow"
                                   :cssStr="cssOption7Field.cssStr"
                                   :typeId="cssOption7Field.typeId"
                                   :html="cssOption7Field.html"
                                   :key1="cssOption7Field.key1"
                                   :key2="cssOption7Field.key2"
                                   :isIn="cssOption7Field.isIn"
                                   :dealFn="cssOption7Field.dealFn"
                      ></com-css-dgn>
                    </div>
                    <div v-show="curFieldPptTabId==9||curFieldPptTabId==8" class="pd-tab-cnt a-scheme" style="margin-left: 10px; " :data-tab-id="8">
                      <com-css-dgn v-if="cssOption8Field.isShow"
                                   :cssStr="cssOption8Field.cssStr"
                                   :typeId="cssOption8Field.typeId"
                                   :html="cssOption8Field.html"
                                   :key1="cssOption8Field.key1"
                                   :key2="cssOption8Field.key2"
                                   :isIn="cssOption8Field.isIn"
                                   :dealFn="cssOption8Field.dealFn"
                      ></com-css-dgn>
                    </div>
                  </div>
                </div>
              <!--页面元素属性、样式-->
                <div v-show="showElemPropterty" class="pd-bar pd-form no-tab" id="divElemTab" style="width: 100%;margin-left: 0px;" data-hasload="1">
                  <div class="pd-tab" style="">
                    <ul class="pd-tabul clearfix" style="margin: 0px auto;width: 389px;height: auto;">
                      <li @mouseover.stop="mouseoverElemTab" :class="{'tab-cur':curElemTabId==1}" class="pd-tabli " :data-tab-id="1" style="width:32%;height: 34px;">
                        <div class="" style="width: 100%;text-align:center;">{{ $t('dpage.property') }}</div>
                      </li>
                      <li @mouseover.stop="mouseoverElemTab" :class="{'tab-cur':curElemTabId==4}" class="pd-tabli" :data-tab-id="4" style="width:32%;height: 34px;">
                        <div class="" style="width: 100%;text-align:center;">{{ $t('dpage.areaStype') }}</div>
                      </li>
                      <li @mouseover.stop="mouseoverElemTab" :class="{'tab-cur':curElemTabId==3}" class="pd-tabli" :data-tab-id="3" style="width:32%;height: 34px;">
                        <div class="" style="width: 100%;text-align:center;">{{ $t('dpage.groupStyle') }}</div>
                      </li>
                    </ul>
                    <div v-show="curElemTabId==1" class="pd-tab-cnt a-scheme" style="" :data-tab-id="1">
                      <ul id="ul_AreaProp" v-show="curElemTabId==1" style="margin-top: 20px; display: block; width: 100%; margin-left: 0px;">
                        <com-page-property v-if="curElemJson"
                                           :elemObj="curElemJson"
                                           :mainObj="mainObj"
                                           :fieldListObj="fieldListObj"
                                           :childEntityList="childEntityList"
                                           :entId="entId"
                                           :pageTypeId="pageTypeId"
                                           :designerType="designerType"
                                           :reportObj="reportObj"
                                           :pageJson="pageJson"
                                           :reportId="reportObj?reportObj.reportId:0"
                                           :isInTab="elemIsInTab"
                                           @returnChangedValues="dealElemChange"
                        ></com-page-property>

                      </ul>
                    </div>
                    <div v-show="curElemTabId==3" class="pd-tab-cnt a-scheme" style="margin-left:10px;" :data-tab-id="3">
                      <com-css-dgn v-if="cssOption3Elem.isShow"
                                   :cssStr="cssOption3Elem.cssStr"
                                   :typeId="cssOption3Elem.typeId"
                                   :html="cssOption3Elem.html"
                                   :key1="cssOption3Elem.key1"
                                   :key2="cssOption3Elem.key2"
                                   :isIn="cssOption3Elem.isIn"
                                   :dealFn="cssOption3Elem.dealFn"
                      ></com-css-dgn>
                    </div>
                    <div v-show="curElemTabId==4" class="pd-tab-cnt a-scheme" style="margin-left:10px;" :data-tab-id="4">
                      <com-css-dgn v-if="cssOption4Elem.isShow"
                                   :cssStr="cssOption4Elem.cssStr"
                                   :typeId="cssOption4Elem.typeId"
                                   :html="cssOption4Elem.html"
                                   :key1="cssOption4Elem.key1"
                                   :key2="cssOption4Elem.key2"
                                   :isIn="cssOption4Elem.isIn"
                                   :dealFn="cssOption4Elem.dealFn"
                      ></com-css-dgn>
                    </div>
                    <div v-show="curElemTabId==9" class="pd-tab-cnt a-scheme" style="margin-left:10px;" :data-tab-id="9">
                      <com-css-dgn v-if="cssOption9Elem.isShow"
                                   :cssStr="cssOption9Elem.cssStr"
                                   :typeId="cssOption9Elem.typeId"
                                   :html="cssOption9Elem.html"
                                   :key1="cssOption9Elem.key1"
                                   :key2="cssOption9Elem.key2"
                                   :isIn="cssOption9Elem.isIn"
                                   :dealFn="cssOption9Elem.dealFn"
                      ></com-css-dgn>
                    </div>
                  </div>
                </div>
              </form>
            </el-scrollbar>
          </div>
        </div>
      </div>
      <!--begin 内容 -->
      <div class="home-main clearfix designer" id="divDesignContainer"
           :style="'min-height:600px;overflow:hidden;background-color: #f8f8f8;' + (option.isPageLoading ? 'margin-top: 46px!important;' : '') +'z-index: '+(option .isPageLoading?'1009':'1009')+';'">
        <div ref="rootDiv" class="home-main-right clearfix"
             style="margin-left: 420px; margin-top: 30px; float: initial; clear: both;">
          <div>
            <div topmenuid="0" style="display: block;">
              <div class="main" style="">
                <div class="middle" style="">
                  <div class="middle11 clearfix" style="width: 100%;">
                    <div class="middle-left phone-designer "
                         id="divMiddleLeft"
                         :class="{ 'app-mode': (curDeviceType==1?true:false), 'web-mode': (curDeviceType==2?true:false) }"
                         style="">
                      <div class="phone-note2" style="">
                        <div class="dgp-top" style=""></div>
                        <div class="phone-area" style=""
                             :style="{ height: phoneAreaHeight }">
                          <div id="reportPreview" class="vonle page1 topLabel ajaxreport clearfix" style="">
                            <ul id="reportFields" style="height:auto;">
                              <li id="Li_Designer" in="1" style="width: auto; height:auto;"
                                  class="notranslate dragable">
                                <div class="dcx-app " style="">
                                  <div class="dcx-window">
                                    <div class="dcx-app-center">
                                      <div class="page-container page-contents">
                                        <div v-if="pageJson!=null&&mainObj!=null&&pageJson.head" menuid="0" medcxd="2881" class="dcx  dcx-page " data-pageid="1">
                                          <div class="page-inner clearfix page-panel" style="min-height:400px;">
                                            <div class="page-panel">
                                              <div :class="'app-header app-header-blue ' + (isDlg ? 'homePageMatrixHdr' : '')"
                                                   :data-is-diy="0" :data-is-hidden="0"
                                                   :style="'position:relative;' + (pageJson.head.color ? 'background-color:#' + pageJson.head.color + ';' : '') + '' + ((pageJson.head.style ? pageJson.head.style : '') + (showHead ? '' : 'display:none;'))">
                                                <div class="hvshow" v-if="!pageJson.head.isDiy"
                                                     style="text-align: center;width: 100%;height: 100%;position: absolute;left: 0px;top: 0px;z-index: 1000;opacity:1;background-color: #666;">
                                                  <button @click="clickDiyHead" class="btn btn-warning" id="btnDiyHead" style="font-size: 13px;margin-top: 3px;width:150px;">
                                                    {{ $t('dpage.diyHead') }}
                                                  </button>
                                                </div>
                                                <template v-if="pageJson.head.group && pageJson.head.isShow">
                                                  <com-page-group
                                                    :pageJson="pageJson"
                                                    :designerType="designerType"
                                                    :mainObj="mainObj"
                                                    :fieldList="fieldListObj"
                                                    :groupObj="pageJson.head.group"
                                                                 :dataObj="dataObj"
                                                                 :curInnerId="curInnerId"
                                                                 :entId="entId"
                                                                 :isDetail="isDetail"
                                                                 :pageTypeId="pageTypeId"
                                                                 :isHeadOrBottom="true"
                                                                 :showFieldNo="mainObj.showFieldNo"
                                                                 :keyValue="keyValue"
                                                                 :splitTwoPartByModule="false"
                                                                 @returnChangedValues="dealComptDataChange"
                                                                 templateName="pageGroup" >
                                                  </com-page-group>
                                                </template>
                                              </div>
                                              <div ref="appContent" :class="'app-content  dcx-scroll app-content-w clearfix ' +(entStyleId==2?'entform':'')+ (pageJson.body && pageJson.body.cssClass ? pageJson.body.cssClass : '') + ' ' + (pageJson.otherMsg && pageJson.otherMsg.entStyle ? 'entform' : '') + ' ' + (pageJson.labelAlign == 2 ? 'form-title2' : '')"
                                                   :style="showHead ? 'top:0.55px;' : 'top:0;'">
                                                <div class="page-left" style="display:none;">
                                                </div>
                                                <div class="page-right"
                                                     :style="showHead && pageJson.body && !pageJson.body.showInnerPageTabs && pageTypeId != 3 ? 'margin-top:5px;' : ''">
                                                  <div class="div-tab page-content" style="  margin-left:0px;">
                                                    <!--顶部-->
                                              <div v-if="pageJson && pageJson.body" class="page-content-top"
                                                   v-show="pageJson.body.showInnerPageTabs && pageJson.body.innerPages.length > 1">
                                                <com-pageInnerTabs v-if="pageJson.body.showInnerPageTabs && pageJson.body.innerPages.length > 1"
                                                                   :innerList="pageJson.body.innerPages"
                                                                   :curInnerId="curInnerId"
                                                                   :curInnerIndex="curInnerIndex"
                                                                   @returnChangedValues="dealComptDataChange"
                                                                   templateName="pageInnerTabs"
                                                                   templateData="innerList:pageJson.body.innerPages,curInnerId:curInnerId,curInnerIndex:curInnerIndex">
                                                </com-pageInnerTabs>
                                              </div>
                                              <!--中部-->
                                              <div class="page-content-middle  inner-page-container clearfix">
                                                <!--内页 v-if="innerObj.id == curInnerId"-->
                                                <template v-for="(innerObj, i) in pageJson.body.innerPages" :key="i">
                                                  <div class="tab-content inner-page-content"
                                                       :class="{'cur-inner': innerObj.isCurrent}"
                                                       :style="(innerObj.bgColor&&innerObj.bgColor.length>0?'background-color:'+innerObj.bgColor:'')+(showHead ? '' : 'margin-bottom:0px;')" :data-tab-id="innerObj.innerId"
                                                       :data-inpage-id="innerObj.innerId" :data-inpage-name="innerObj.text">
                                                    <!--内页顶部-->
                                                    <div class="inner-page-top ">
                                                    </div>
                                                    <!--内页中间-->
                                                    <div class="inner-page-middle dcx-module" style="">
                                                        <com-page-group v-for="(groupObj, k) in innerObj.groups"
                                                                        :key="groupObj.maxAId_"
                                                                        :pageJson="pageJson"
                                                                        :designerType="designerType"
                                                                        :mainObj="mainObj"
                                                                        :fieldList="fieldListObj"
                                                                        templateName="pageGroup"
                                                                       :runChildList="runChildList"
                                                                       :groupObj="groupObj"
                                                                       :dataObj="dataObj"
                                                                       :curInnerId="curInnerId"
                                                                       :entId="entId"
                                                                       :pageTypeId="pageTypeId"
                                                                       :isHeadOrBottom="false"
                                                                       :showFieldNo="mainObj.showFieldNo"
                                                                       :keyValue="keyValue"
                                                                       :splitTwoPartByModule="false"
                                                                       :isApp="isApp"
                                                                       :isAsPage="isAsPage"
                                                                       :reportObj="reportObj"
                                                                        :dataList="dataList"
                                                                       :entObj="entObj"
                                                                       @returnChangedValues="dealComptDataChange">
                                                        </com-page-group>
                                                    </div>
                                                    <!--内页底部-->
                                                    <div class="inner-page-bottom">
                                                    </div>
                                                  </div>
                                                </template>
                                              </div>
                                              <!--底部-->
                                              <div class="page-content-bottom">
                                              </div>
                                            </div>
                                          </div>
                                        </div>
                                              <div class="app-bottom" :data-is-diy="0" :data-is-hidden="1"
                                                   :style="(pageJson.bottom && pageJson.bottom.color ? 'background-color:#' + pageJson.bottom.color + ';' : '') + '' + (showBottom ? '' : 'position: static;display:none;')">
                                              <div v-if="!pageJson.bottom.isDiy" style="text-align: center;width: 100%;height: 100%;position: absolute;left: 0px;top: 0px;z-index: 1000;opacity:1;background-color: #666;">
                                                  <button @click="clickDiyBottom" class="btn btn-warning" id="btnDiyBottom"
                                                          style="font-size: 13px;margin-top: 3px;width:150px;">
                                                    {{ $t('dpage.diyBottom') }}
                                                  </button>
                                                </div>
                                                <com-page-group v-if="pageJson.bottom.group"
                                                                :pageJson="pageJson"
                                                                :designerType="designerType"
                                                                :mainObj="mainObj"
                                                                :fieldList="fieldListObj"
                                                                templateName="pageGroup"
                                                               :groupObj="pageJson.bottom.group"
                                                               :dataObj="dataObj"
                                                               :curInnerId="curInnerId"
                                                               :entId="entId"
                                                               :pageTypeId="pageTypeId"
                                                               :isHeadOrBottom="false"
                                                               :showFieldNo="mainObj.showFieldNo"
                                                               :keyValue="keyValue"
                                                               :splitTwoPartByModule="false"
                                                               @returnChangedValues="dealComptDataChange"
                                                               templateData="groupObj:pageJson.bottom.group,dataObj:dataObj,curInnerId:curInnerId,entId:entId,pageTypeId:pageTypeId,isHeadOrBottom:false,showFieldNo:showFieldNo,keyValue:keyValue,splitTwoPartByModule:false">
                                                </com-page-group>
                                              </div>
                                            </div>
                                          </div>
                                        </div>
                                      </div>
                                    </div>
                                  </div>
                                </div>
                              </li>
                            </ul>
                          </div>
                        </div>
                        <div class="dgp-bottom" style=""></div>
                      </div>
                    </div>
                  </div>
                </div>
              </div>
            </div>
          </div>
        </div>
      </div>
      <div class="field-operate fieldOperate" fordesign="1" ref="fieldOperate" id="fieldOperate" :title="$t('common.delete')"
           style="z-index: 1001 !important; height: 20px;">
        <img class="faDel" src="https://www.yunjiepei.com/designer/css/images/delete.png" :title="$t('common.delete')" style="margin-top: 2px;"
             :alt="$t('common.delete')" />
      </div>
      <div data-role="css-style"></div>
    </div>
    <el-dialog v-if="sqlDatasourceOption!=null&&sqlDatasourceOption.isShow" style="z-index: 16500;"
               visibleync v-model="sqlDatasourceOption.isShow"
               v-draggable :show-close="false" :close-on-click-modal="true"  append-to-body :destroy-on-close="true" width="1100px">
        <com-sql-data-source v-if="sqlDatasourceOption.isShow"
                             :mainObj="sqlDatasourceOption.mainObj"
                             :curEntId="sqlDatasourceOption.curEntId"
                             :entId="sqlDatasourceOption.entId"
                             :reportType="sqlDatasourceOption.reportType"
                             :sqlType="sqlDatasourceOption.sqlType"
                             :targetDataId="sqlDatasourceOption.targetDataId"
                             :initObj="sqlDatasourceOption.initObj"
                             :sceneId="sqlDatasourceOption.sceneId"
                             :isReport="sqlDatasourceOption.isReport"
                             :moduleTypeUsingSql="sqlDatasourceOption.moduleTypeUsingSql"
                             :targetDgnObj="sqlDatasourceOption.targetDgnObj"
                             :designerType="sqlDatasourceOption.designerType"
                             :fieldList1="sqlDatasourceOption.fieldList1"
                             :fieldListObj="sqlDatasourceOption.fieldListObj"
                             :fieldList2="sqlDatasourceOption.fieldList2"
                             :targetDesignerField="sqlDatasourceOption.targetDesignerField"
                             :elemId="sqlDatasourceOption.elemId"
                             :formId="sqlDatasourceOption.formId"
                             :fieldList="sqlDatasourceOption.fieldList"
                             :totalFields="sqlDatasourceOption.totalFields"
                             :ctrlTypeId="sqlDatasourceOption.ctrlTypeId"
                             :fldId="sqlDatasourceOption.fldId"
                             :isShow="sqlDatasourceOption.isShow"
                             @returnValue="returnAndDealSelectImage"
        ></com-sql-data-source>
    </el-dialog>
     <!--交叉报表 设计器-->
    <el-dialog v-if="reportCrossDesignerOption!=null&&reportCrossDesignerOption.isShow" style="z-index: 16500;"
               visibleync v-model="reportCrossDesignerOption.isShow"
               v-draggable :show-close="false" :close-on-click-modal="true"  append-to-body
               :destroy-on-close="true" width="1100px">
      <com-cross-report-designer
        v-if="reportCrossDesignerOption.isShow"
        :reportObj0="reportCrossDesignerOption.reportObj"
        :reportId0="reportCrossDesignerOption.reportId"
        :elemObj="reportCrossDesignerOption.elemObj"
        :targetReportId="reportCrossDesignerOption.targetReportId"
        :fromType="reportCrossDesignerOption.fromType"
        :goOnNewChart="reportCrossDesignerOption.goOnNewChart"
        :isCreating="reportCrossDesignerOption.isCreating"
        :targetReportName="reportCrossDesignerOption.targetReportName"
        :bindTargetGroupObj="reportCrossDesignerOption.bindTargetGroupObj"
        :elemId="reportCrossDesignerOption.elemId"
        :isShow="reportCrossDesignerOption.isShow"
        @returnValue="returnAndDealSelectImage"
      ></com-cross-report-designer>
    </el-dialog>
      <!--树设计器-->
    <el-dialog v-if="treeOption!=null&&treeOption.isShow" style="z-index: 16500;"
               visibleync v-model="treeOption.isShow"
               v-draggable :show-close="false" :close-on-click-modal="true"  append-to-body
               :destroy-on-close="true" width="1162px" class="dxc ">
      <tree-designer v-if="treeOption.isShow"
        :treeId="treeOption.treeId"
        :entId="treeOption.entId"
        :bindMode="treeOption.bindMode"
        :relateModuleType="treeOption.relateModuleType"
        :dbTableId="treeOption.dbTableId"
        :dbTableName="treeOption.dbTableName"
        :dbConnectId="treeOption.dbConnectId"
        :moduleFieldList="treeOption.moduleFieldList"
        :reportObj="treeOption.reportObj"
        :moduleObj="treeOption.moduleObj"
        :reportId="treeOption.reportId"
        :elemId="treeOption.elemId"
        :formId="treeOption.formId"
        :fieldList="treeOption.fieldList"
        :ctrlTypeId="treeOption.ctrlTypeId"
        :fldId="treeOption.fldId"
        :elemObj="treeOption.elemObj"
        :isShow="treeOption.isShow"
        @returnValue="returnAndDealTreeId"
      ></tree-designer>
    </el-dialog>
    <!--新建 菜单目录-->
    <el-dialog v-if="menuCreateOption!=null&&menuCreateOption.isShow" style="z-index: 16500;"
               visibleync v-model="menuCreateOption.isShow" class="dxc "
               v-draggable :show-close="false" :close-on-click-modal="true"  append-to-body :destroy-on-close="true" width="1100px">
      <div>
        <com-menu-create v-if="menuCreateOption.isShow"
                         :hasTarget="menuCreateOption.hasTarget"
                         :groupId="menuCreateOption.groupId"
                         :parentGroupId="menuCreateOption.parentGroupId"
                         :isSetParam="menuCreateOption.isSetParam"
                         :isShow="menuCreateOption.isShow"
                         @returnValues="returnAndDealMenuCreate"
        ></com-menu-create>
      </div>
    </el-dialog>
    <!--创建 应用-->
    <el-dialog v-if="appCreateOption!=null&&appCreateOption.isShow" style="z-index: 16500;"
               visibleync v-model="appCreateOption.isShow"
               v-draggable :show-close="false" :close-on-click-modal="true"  append-to-body :destroy-on-close="true" width="1100px">
      <div>
        <com-app-create v-if="appCreateOption.isShow"
                        :defaultMode="appCreateOption.defaultMode"
                        :isShow="appCreateOption.isShow"
                        @returnValues="returnAndDealMenuCreate"
        ></com-app-create>
      </div>
    </el-dialog>
    <!--创建 页面 -->
    <el-dialog v-if="pageCreateOption!=null&&pageCreateOption.isShow" style="z-index: 16500;"
               visibleync v-model="pageCreateOption.isShow"
               v-draggable :show-close="false" :close-on-click-modal="true"  append-to-body :destroy-on-close="true" width="1100px">
      <div>
        <page-create v-if="pageCreateOption.isShow"
                         :defaultMode="pageCreateOption.defaultMode"
                         :isShow="pageCreateOption.isShow"
                         @returnValues="returnAndDealMenuCreate"
        ></page-create>
      </div>
    </el-dialog>
    <el-dialog v-if="appListOption!=null&&appListOption.isShow" style="z-index: 16500;"
               visibleync v-model="appListOption.isShow"
               v-draggable :show-close="false" :close-on-click-modal="true"  append-to-body :destroy-on-close="true" width="1100px">
      <div>
        <com-app-list v-if="appListOption.isShow"
                      :isRuning="appListOption.isRuning"
                      :isSelector="appListOption.isSelector"
                      :title="appListOption.title"
                      :isShow="appListOption.isShow"
                         @returnValues="returnAndDealMenuCreate"
        ></com-app-list>
      </div>
    </el-dialog>
    <el-dialog v-if="privilegeMenuOption!=null&&privilegeMenuOption.isShow" style="z-index: 16500;"
               visibleync v-model="privilegeMenuOption.isShow" class="dxc "
               v-draggable :show-close="false" :close-on-click-modal="true"  append-to-body :destroy-on-close="true" width="1100px">
      <div>
        <privilege-menu v-if="privilegeMenuOption.isShow"
                            :curRoleId="privilegeMenuOption.curRoleId"
                            :curRoleName="privilegeMenuOption.curRoleName"
                            :isField="privilegeMenuOption.isField"
                            :isShow="privilegeMenuOption.isShow"
                            @returnValues="returnAndDealMenuCreate"
        ></privilege-menu>
      </div>
    </el-dialog>
    <el-dialog v-if="formPropertySetOption!=null&&formPropertySetOption.isShow" style="z-index: 16500;"
               visibleync v-model="formPropertySetOption.isShow" class="dxc "
               v-draggable :show-close="false" :close-on-click-modal="true"  append-to-body
               :destroy-on-close="true" width="500px">
      <form-property-panel v-if="formPropertySetOption.isShow"
                           :isModeDD="isModeDD"
                           :dgnEntId="formPropertySetOption.dgnEntId"
                             :formId="formPropertySetOption.formId"
                             :childEntityList="formPropertySetOption.childEntityList"
                             :fieldListObj="formPropertySetOption.fieldListObj"
                             :pageJson="formPropertySetOption.pageJson"
                             :mainObj="formPropertySetOption.mainObj"
                             :isShow="formPropertySetOption.isShow"
                             @returnValue="returnAndDealSelectImage"
      ></form-property-panel>
    </el-dialog>
    <el-dialog v-if="reportObj!=null&&childReportAddOption!=null&&childReportAddOption.isShow" style="z-index: 16500;"
               visibleync v-model="childReportAddOption.isShow" class="dxc "
               v-draggable :show-close="false" :close-on-click-modal="true"  append-to-body
               :destroy-on-close="true" width="1000px">
      <child-report-add-to-designer v-if="childReportAddOption.isShow"
                           :dgnEntId="entId"
                           :mainObj="mainObj"
                           :childEntityList="childEntityList"
                           :fieldListObj="fieldListObj"
                           :pageJson="pageJson"
                           :isModeDD="isModeDD"
                           :isShow="childReportAddOption.isShow"
                           :reportObj="reportObj"
                           :dbTableFieldList1="dbTableFieldList1"
                           :dbTableFieldList2="dbTableFieldList2"
                           :sourceFormField1="sourceFormField1"
                           :sourceFormField2="sourceFormField2"
                                    :addingAreaObj="tempAddingArea"
                                    :formMsg1="formMsg1"
                           :formMsg2="formMsg2"
                           @returnValue="returnAndDealAddChildReport"
      ></child-report-add-to-designer>
    </el-dialog>
    <el-dialog v-if="moduleAddOption!=null&&moduleAddOption.isShow" style="z-index: 16500;"
               visibleync v-model="moduleAddOption.isShow"
               v-draggable :show-close="false" :close-on-click-modal="true"  append-to-body
               :destroy-on-close="true" width="1100px" class="dxc ">
      <module-add-to-designer v-if="pageJson"
                         :elemObj="moduleAddOption.elemObj"
                         :areaObj="moduleAddOption.areaObj"
                         :pageJson="pageJson"
                         :mainObj="mainObj"
                         :dgnEntId="entId"
                         :elemPageTypeId="moduleAddOption.pageTypeId"
                         :pageTypeId="pageTypeId"
                         :designerType="designerType"
                         @returnValues="returnAndDealAddModule"
      ></module-add-to-designer>
    </el-dialog>
    <el-dialog v-if="mainObj!=null&&formFieldBatchAddOption!=null&&formFieldBatchAddOption.isShow" style="z-index: 16500;"
               visibleync v-model="formFieldBatchAddOption.isShow" class="dxc "
               v-draggable :show-close="false" :close-on-click-modal="true"  append-to-body
               :destroy-on-close="true" width="943px" >
      <batch-add-form-field v-if="formFieldBatchAddOption.isShow"
                           :entId="entId"
                           :designerType="designerType"
                            :formObj0="formObj"
                            :mainObj="mainObj"
                            :fieldListObj="fieldListObj"
                            :dbTableFieldList="dbTableFieldList"
                            :isModeDD="isModeDD"
                            :isShow="formFieldBatchAddOption.isShow"
                            @returnValues="returnAndDealBatchAddFormField"
      ></batch-add-form-field>
    </el-dialog>
    <el-dialog v-if="mainObj!=null&&dbFieldBatchAddOption!=null&&dbFieldBatchAddOption.isShow" style="z-index: 16500;"
               visibleync v-model="dbFieldBatchAddOption.isShow" class="dxc "
               v-draggable :show-close="false" :close-on-click-modal="true"  append-to-body
               :destroy-on-close="true" width="947px">
      <batch-add-db-field v-if="dbFieldBatchAddOption.isShow"
                            :entId="entId"
                            :designerType="designerType"
                            :formObj0="formObj"
                            :mainObj="mainObj"
                            :fieldListObj="fieldListObj"
                            :dbTableFieldList="dbTableFieldList"
                            :isModeDD="isModeDD"
                            :isShow="dbFieldBatchAddOption.isShow"
                            @returnValues="returnAndDealBatchAddDbField"
      ></batch-add-db-field>
    </el-dialog>
    <el-dialog v-if="sqlSelectOption!=null&&sqlSelectOption.isShow"
               style="z-index: 16500;"
               class="dxc "
               visibleync
               v-model="sqlSelectOption.isShow"
               :close-on-click-modal="true"
               v-draggable
               :show-close="false"
               append-to-body :destroy-on-close="true" width="1100px">

      <div>
<!--        //selectSqlType 1，多选项；2，单值；3,多行多字段-->
<!--          //moduleTypeUsingSql：在reportType=7（SQL）时起效，表示使用此SQL的模块类型，用于SQL的条件设计（typeId）。1，表单；2，报表；3，查询表单；4，明细报表；-->
<!--        //targetDataId：例如要在普通列表那里创建分析报表或统计图表，这个targetDataId就是普通列表的reportId。-->
        <sql-select
          v-if="sqlSelectOption.isShow"
          :mainObj="sqlSelectOption.mainObj"
          :pageJson="sqlSelectOption.pageJson"
          :childEntityList="sqlSelectOption.childEntityList"
          :fieldObj="sqlSelectOption.fieldObj"
          :reportObj="sqlSelectOption.reportObj"
          :initObj="sqlSelectOption.initObj"
          :selectSqlType="sqlSelectOption.selectSqlType"
          :fieldListObj="sqlSelectOption.fieldListObj"
          :fieldList1="sqlSelectOption.fieldList1"
          :fieldList2="sqlSelectOption.fieldList2"
          :moduleTypeUsingSql="sqlSelectOption.moduleTypeUsingSql"
          :targetDataId="sqlSelectOption.targetDataId"
          :designerType="sqlSelectOption.designerType"
          :targetDesignerField="sqlSelectOption.targetDesignerField"
          :elemId="sqlSelectOption.elemId"
          :formId="sqlSelectOption.formId"
          :fldId="sqlSelectOption.fldId"
          :isShow="sqlSelectOption.isShow"
          @returnValue="returnAndDealSqlSelect"
        ></sql-select>
      </div>
    </el-dialog>

    <designer-for-create v-if="designBeginOptionReport&&designBeginOptionReport.isShow"
                         :designer-option="designBeginOptionReport"
                         @returnValue="returnAndDealDesigner"
    >
    </designer-for-create>
    <designer-for-create v-if="designBeginOption2&&designBeginOption2.isShow"
                         :designer-option="designBeginOption2"
                         @returnValue="returnAndDealDesigner"
    >
    </designer-for-create>
    <el-dialog v-if="reportRunOption!=null&&reportRunOption.isShow" style="z-index: 16500;"
               visibleync v-model="reportRunOption.isShow"
               v-draggable :show-close="false" :close-on-click-modal="true"  append-to-body
               :destroy-on-close="true" width="1201px"   top="20px" class="dcx-ddlg dxc">
      <com-report style="width: 100%;"
                  v-if="reportRunOption.isLoad"
                  :isApp="false"
                  :isSelector="false"
                  :isAsPage="false"
                  :isShow="reportRunOption.isShow"
                  :reportObj="reportRunOption.reportObj"
                  :elemObj0="reportRunOption.elemObj"
                  :reportName0="reportRunOption.reportName"
                  :comId="reportRunOption.comId"
                  :reportId0="reportRunOption.reportId"
                  :reportObj0="reportRunOption.reportObj"
                  :isShow0="reportRunOption.isShow"
      >
      </com-report>
    </el-dialog>
    <el-dialog v-if="jsSetOption!=null&&jsSetOption.isShow" style="z-index: 16500;"
               visibleync v-model="jsSetOption.isShow" class="dxc "
               v-draggable :show-close="false" :close-on-click-modal="true"  append-to-body :destroy-on-close="true" width="1100px">
      <js-editor v-if="jsSetOption.isShow"
                 :dgnEntId="jsSetOption.dgnEntId"
                 :jsCss="jsSetOption.jsCss"
                 :formId="jsSetOption.formId"
                 :attrName="jsSetOption.attrName"
                 :fieldListObj="jsSetOption.fieldListObj"
                 :mainObj="jsSetOption.mainObj"
                 :pageJson="jsSetOption.pageJson"
                 :childEntityList="jsSetOption.childEntityList"
                 :isShow="jsSetOption.isShow"
                 @returnValues="returnAndDealJsCode"
      ></js-editor>
    </el-dialog>
    <el-dialog v-if="pageTopOption!=null&&pageTopOption.isShow" style="z-index: 16500;"
               visibleync v-model="pageTopOption.isShow" class="dxc "
               v-draggable :show-close="false" :close-on-click-modal="true"
               append-to-body
               :destroy-on-close="true"
               width="387px" left="1159.92px">
      <page-top-set v-if="pageTopOption.isShow"
                    ref="pageTopMdl"
                    :isModeDD="isModeDD"
                    :dgnEntId="entId"
                    :pageJson="pageJson"
                    :mainObj="mainObj"
                    :isShow="true"
                    @returnValue="returnAndDealPageTopSet"
                    @addOrRemoveOneElem="addOrRemoveOneElem"
      ></page-top-set>

    </el-dialog>
    <el-dialog v-if="pageMiddleOption!=null&&pageMiddleOption.isShow" style="z-index: 16500;"
               visibleync v-model="pageMiddleOption.isShow" class="dxc "
               v-draggable :show-close="false" :close-on-click-modal="true"
               append-to-body
               :destroy-on-close="true"
               width="487px" left="1159.92px">
      <page-middle-set v-if="pageMiddleOption.isShow"
                      ref="pageTopMdl"
                      :isModeDD="isModeDD"
                      :dgnEntId="entId"
                      :pageJson="pageJson"
                      :mainObj="mainObj"
                      :isShow="true"
                      @returnValue="returnAndDealPageMiddleSet"
                       @addOrRemoveOneElem="addOrRemoveOneElem"
                       @addOneInnerPage="addOneInnerPage"
      ></page-middle-set>

    </el-dialog>
    <el-dialog v-if="pageBottomOption!=null&&pageBottomOption.isShow" style="z-index: 16500;"
               visibleync v-model="pageBottomOption.isShow" class="dxc "
               v-draggable :show-close="false" :close-on-click-modal="true"
               append-to-body
               :destroy-on-close="true"
               width="387px" left="1159.92px">
      <page-bottom-set v-if="pageBottomOption.isShow"
                    ref="pageTopMdl"
                    :isModeDD="isModeDD"
                    :dgnEntId="entId"
                    :pageJson="pageJson"
                    :mainObj="mainObj"
                    :isShow="true"
                    @returnValue="returnAndDealPageTopSet"
                    @addOrRemoveOneElem="addOrRemoveOneElem"
      ></page-bottom-set>

    </el-dialog>
    <el-dialog v-if="conditionSetOption!=null&&conditionSetOption.isShow" style="z-index: 16500;"
               visibleync v-model="conditionSetOption.isShow" class="dxc "
               v-draggable :show-close="false" :close-on-click-modal="true"  append-to-body :destroy-on-close="true" width="990px">
        <form-condition v-if="conditionSetOption.isShow"
                        :dgnEntId="conditionSetOption.dgnEntId"
                        :formId="conditionSetOption.formId"
                        :fieldListObj="conditionSetOption.fieldListObj"
                        :dbTableFieldList="dbTableFieldList"
                        :mainObj="conditionSetOption.mainObj"
                        :pageJson="conditionSetOption.pageJson"
                        :childEntityList="conditionSetOption.childEntityList"
                        :isShow="conditionSetOption.isShow"
                        @returnValues="returnAndDealFormCondtionSet"
        ></form-condition>
    </el-dialog>
    <el-dialog v-if="interPanelOption!=null&&interPanelOption.isShow" class="dxc"
               visibleync v-model="interPanelOption.isShow"
               v-draggable :show-close="false" :close-on-click-modal="true"  append-to-body
               :destroy-on-close="true" width="1100px">
      <inter-panel-web v-if="interPanelOption.isShow"
                       :busTypeId="interPanelOption.busTypeId"
                       :busId="interPanelOption.busId"
                       :keyValue="interPanelOption.keyValue"
                       :yjpIx="interPanelOption.yjpIx"
                       :busTypeName="interPanelOption.busTypeName"
                       :interactDataObj="interPanelOption.interactDataObj"
                       :isShow="interPanelOption.isShow"
                       @returnValue="returnAndDealInterPanel"
      ></inter-panel-web>
    </el-dialog>
    <!--控件：报表选择器（用于设置 表单的初始化）-->
    <el-dialog v-if="selectorCtrlSetOption!=null&&selectorCtrlSetOption.isShow" style="z-index: 16500;"
               visibleync v-model="selectorCtrlSetOption.isShow" class="dxc "
               v-draggable :show-close="false" :close-on-click-modal="true"  append-to-body :destroy-on-close="true" width="1100px">
      <selector-set v-if="selectorCtrlSetOption.isShow"
                    :dgnEntId="selectorCtrlSetOption.dgnEntId"
                    :formId="selectorCtrlSetOption.formId"
                    :fldId="selectorCtrlSetOption.fldId"
                    :fieldName="selectorCtrlSetOption.fieldName"
                    :pageJson="selectorCtrlSetOption.pageJson"
                    :mainObj="selectorCtrlSetOption.mainObj"
                    :formObj="selectorCtrlSetOption.formObj"
                    :fieldListObj="selectorCtrlSetOption.fieldListObj"
                    :fieldObj="selectorCtrlSetOption.fieldObj"
                    :ctrlTypeId="selectorCtrlSetOption.ctrlTypeId"
                    :dgnFieldList="selectorCtrlSetOption.dgnFieldList"
                    :isShow="selectorCtrlSetOption.isShow"
                    :childEntityList0="selectorCtrlSetOption.childEntityList"
                    @returnValues="returnAndDealSelector"
      ></selector-set>
    </el-dialog>
    <!--添加 子表单-->
    <el-dialog v-if="childFormAddOption!=null&&childFormAddOption.isShow" style="z-index: 16500;"
               visibleync v-model="childFormAddOption.isShow"
               v-draggable :show-close="false" :close-on-click-modal="true"  append-to-body
               :destroy-on-close="true" width="1100px">
      <child-add-to-designer v-if="childFormAddOption.isShow"
                             :dgnEntId="entId"
                             :formId="entId"
                             :addingAreaObj="tempAddingArea"
                             :childEntityList="childEntityList"
                             :fieldListObj="fieldListObj"
                             :pageJson="pageJson"
                             :mainObj="mainObj"
                             :isShow="childFormAddOption.isShow"
                             @returnValues="returnAndDealAddChildForm"
      ></child-add-to-designer>
    </el-dialog>
    <!--创建 表单-->
    <el-dialog v-if="formCreateOption!=null&&formCreateOption.isShow" style="z-index: 16500;"
               visibleync v-model="formCreateOption.isShow"
               v-draggable :show-close="false" :close-on-click-modal="true"  append-to-body :destroy-on-close="true" width="1100px">
      <div>
        <com-form-create v-if="formCreateOption.isShow"
                         :formTypeId="formCreateOption.formTypeId"
                         :isChildForm="formCreateOption.isChildForm"
                         :parentFormId="formCreateOption.parentFormId"
                         :dbTableId0="formCreateOption.dbTableId"
                         :dbTableName0="formCreateOption.dbTableName"
                         :dbTableByname0="formCreateOption.dbTableByname"
                         :dbConnectId0="formCreateOption.dbConnectId"
                         :bindTargetGroupObj="formCreateOption.bindTargetGroupObj"
                         :bindFormObj="formCreateOption.bindFormObj"
                         :defaultMode="formCreateOption.defaultMode"
                         :isShow="formCreateOption.isShow"
                         @returnValues="returnAndDealSelectImage"
        ></com-form-create>
      </div>
    </el-dialog>
    <el-dialog v-if="privilegeFieldOption!=null&&privilegeFieldOption.isShow" style="z-index: 16500;"
               visibleync v-model="privilegeFieldOption.isShow" class="dxc "
               v-draggable :show-close="false" :close-on-click-modal="true"  append-to-body :destroy-on-close="true" width="970px">

      <privilege-field v-if="privilegeFieldOption.isShow"
                       :fieldList="privilegeFieldOption.fieldList"
                       :typeId="privilegeFieldOption.typeId"
                       :dataId="privilegeFieldOption.dataId"
                       :mainObj0="privilegeFieldOption.mainObj0"
                       :elemObj="privilegeFieldOption.elemObj"
                       :isShow="privilegeFieldOption.isShow"
                       @returnValues="returnAndDealPrivilegeFieldSet"
      ></privilege-field>
    </el-dialog>
    <el-dialog v-if="privilegeFunctionOption!=null&&privilegeFunctionOption.isShow" style="z-index: 16500;"
               visibleync v-model="privilegeFunctionOption.isShow" class="dxc "
               v-draggable :show-close="false" :close-on-click-modal="true"  append-to-body :destroy-on-close="true" width="970px">
      <privilege-function v-if="privilegeFunctionOption.isShow"
                          :typeId="privilegeFunctionOption.typeId"
                          :designerType="designerType"
                          :dataId="privilegeFunctionOption.dataId"
                          :mainObj0="privilegeFunctionOption.mainObj0"
                          :elemObj="privilegeFunctionOption.elemObj"
                          :isShow="privilegeFunctionOption.isShow"
                          @returnValues="returnAndDealPrivilegeFunctionSet"
      ></privilege-function>
    </el-dialog>

    <!--报表 基本设置-->
    <el-dialog v-if="reportBaseSetOption!=null&&reportBaseSetOption.isShow" style="z-index: 16500;"
               visibleync v-model="reportBaseSetOption.isShow" class="dxc "
               v-draggable :show-close="false" :close-on-click-modal="true"  append-to-body :destroy-on-close="true"
               width="520px" height="550px">
      <base-set v-if="reportBaseSetOption.isShow"
                :designerType="designerType"
                :reportObj0="reportBaseSetOption.reportObj"
                :elemObj="reportBaseSetOption.elemObj"
                :moduleObj="reportBaseSetOption.moduleObj"
                :reportId0="reportBaseSetOption.reportId"
                :elemId="reportBaseSetOption.elemId"
                :isShow="reportBaseSetOption.isShow"
                @returnValue="returnAndDealReportSet"
      ></base-set>
    </el-dialog>
    <el-dialog v-if="reportFieldSetOption!=null&&reportFieldSetOption.isShow" style="z-index: 16500;"
               visibleync v-model="reportFieldSetOption.isShow" class="dxc "
               v-draggable :show-close="false" :close-on-click-modal="true"  append-to-body :destroy-on-close="true" width="690px">
      <field-set v-if="reportFieldSetOption.isShow"
                 :designerType="designerType"
                 :pageJson="pageJson"
                 :pageTypeId="pageTypeId"
                 :reportObj0="reportFieldSetOption.reportObj"
                 :elemObj="reportFieldSetOption.elemObj"
                 :moduleObj="reportFieldSetOption.moduleObj"
                 :reportId0="reportFieldSetOption.reportId"
                 :elemId="reportFieldSetOption.elemId"
                 :isShow="reportFieldSetOption.isShow"
                 @returnValue="returnAndDealReportSet"
      ></field-set>

    </el-dialog>
    <!--报表 工具栏设置-->
    <el-dialog v-if="reportToolbarSetOption!=null&&reportToolbarSetOption.isShow" style="z-index: 16500;"
               visibleync v-model="reportToolbarSetOption.isShow" class="dxc "
               v-draggable :show-close="false" :close-on-click-modal="true"  append-to-body :destroy-on-close="true" width="500px">
      <toolbar-set v-if="pageJson&&reportToolbarSetOption.isShow"
                   :designerType="designerType"
                   :reportObj0="reportToolbarSetOption.reportObj"
                   :elemObj="reportToolbarSetOption.elemObj"
                   :moduleObj="reportToolbarSetOption.moduleObj"
                   :reportId0="reportToolbarSetOption.reportId"
                   :elemId="reportToolbarSetOption.elemId"
                   :toolbarTypeId="reportToolbarSetOption.toolbarTypeId"
                   :maxElemId="reportToolbarSetOption.maxElemId"
                   :typeId="reportToolbarSetOption.typeId"
                   :pageJson="pageJson"
                   :isRowSet="reportToolbarSetOption.isRowSet"
                   :isShow="reportToolbarSetOption.isShow"
                   :childEntityList="childEntityList"
                   :fieldListObj="fieldListObj"
                   :entId="reportToolbarSetOption.reportId"
                   :mainObj="reportToolbarSetOption.reportObj"
                   :pageTypeId="pageTypeId"

                   :reportObj="reportToolbarSetOption.reportObj"

                   @returnValues="returnAndDealReportSet"
      ></toolbar-set>

    </el-dialog>
    <!--报表 查询设置-->
    <el-dialog v-if="reportSearchSetOption!=null&&reportSearchSetOption.isShow" style="z-index: 16500;"
               visibleync v-model="reportSearchSetOption.isShow" class="dxc "
               v-draggable :show-close="false" :close-on-click-modal="true"  append-to-body :destroy-on-close="true" width="490px">
      <search-set v-if="reportSearchSetOption.isShow"
                  :designerType="designerType"
                  :reportObj="reportSearchSetOption.reportObj"
                  :elemObj="reportSearchSetOption.elemObj"
                  :moduleObj="reportSearchSetOption.moduleObj"
                  :reportId="reportSearchSetOption.reportId"
                  :elemId="reportSearchSetOption.elemId"
                  :isShow="reportSearchSetOption.isShow"
                  @returnValue="returnAndDealReportSet"
      ></search-set>
    </el-dialog>
    <report-create  v-if="reportCreateOption!=null&&reportCreateOption.isShow"
                    :beginIsSelectReportType="reportCreateOption.beginIsSelectReportType"
                    :fromType="reportCreateOption.fromType"
                    :reportName="reportCreateOption.reportName"
                    :reportType="reportCreateOption.reportType"
                    :targetDataId="reportCreateOption.targetDataId"
                    :goOnNewChart="reportCreateOption.goOnNewChart"
                    :justCreate="reportCreateOption.justCreate"
                    :initObj="reportCreateOption.initObj"
                    :curFieldObj="reportCreateOption.curFieldObj"
                    :selectSqlType="reportCreateOption.selectSqlType"
                    :sceneId="reportCreateOption.sceneId"
                    :moduleTypeUsingSql="reportCreateOption.moduleTypeUsingSql"
                    :bindFormObj="reportCreateOption.bindFormObj"
                    :bindDbTableObj="reportCreateOption.bindDbTableObj"
                    :bindTargetGroupObj="reportCreateOption.bindTargetGroupObj"
                    :reportTemplateId="reportCreateOption.reportTemplateId"
                    :reportTemplateObj="reportCreateOption.reportTemplateObj"
                    :isShow="reportCreateOption.isShow"
                    @returnValue="returnAndDealReportSet"
    ></report-create>
    <!--报表 常用视图设置-->
    <el-dialog v-if="reportViewSetOption!=null&&reportViewSetOption.isShow" style="z-index: 16500;"
               visibleync v-model="reportViewSetOption.isShow" class="dxc "
               v-draggable :show-close="false" :close-on-click-modal="true"  append-to-body :destroy-on-close="true" width="836px">
      <view-set v-if="reportViewSetOption.isShow"
                :designerType="designerType"
                :reportObj="reportViewSetOption.reportObj"
                :elemObj="reportViewSetOption.elemObj"
                :moduleObj="reportViewSetOption.moduleObj"
                :reportId="reportViewSetOption.reportId"
                :elemId="reportViewSetOption.elemId"
                :isShow="reportViewSetOption.isShow"
                @returnValue="returnAndDealReportSet"
      ></view-set>
    </el-dialog>
    <el-dialog v-if="reportConditionSetOption!=null&&reportConditionSetOption.isShow" style="z-index: 16500;"
               visibleync v-model="reportConditionSetOption.isShow" class="dxc "
               v-draggable :show-close="false" :close-on-click-modal="true"  append-to-body
               :destroy-on-close="true" width="920px">
      <report-condition v-if="reportConditionSetOption.isShow"
                        :reportObj="reportConditionSetOption.reportObj"
                        :designerType="designerType"
                        :elemObj="reportConditionSetOption.elemObj"
                        :moduleObj="reportConditionSetOption.moduleObj"
                        :reportId="reportConditionSetOption.reportId"
                        :elemId="reportConditionSetOption.elemId"
                        :isShow="reportConditionSetOption.isShow"
                        @returnValue="returnAndDealReportSet"
      ></report-condition>
    </el-dialog>
    <!--报表 排序设置-->
    <el-dialog v-if="reportSortSetOption!=null&&reportSortSetOption.isShow" style="z-index: 16500;"
               visibleync v-model="reportSortSetOption.isShow" class="dxc "
               v-draggable :show-close="false" :close-on-click-modal="true"  append-to-body :destroy-on-close="true" width="490px">
      <sort-set v-if="reportSortSetOption.isShow"
                :reportObj="reportSortSetOption.reportObj"
                :designerType="designerType"
                :elemObj="reportSortSetOption.elemObj"
                :moduleObj="reportSortSetOption.moduleObj"
                :reportId="reportSortSetOption.reportId"
                :elemId="reportSortSetOption.elemId"
                :isShow="reportSortSetOption.isShow"
                @returnValue="returnAndDealReportSet"
      ></sort-set>
    </el-dialog>
    <!--报表 汇总字段设置-->
    <el-dialog v-if="reportTotalFieldSetOption!=null&&reportTotalFieldSetOption.isShow" style="z-index: 16500;"
               visibleync v-model="reportTotalFieldSetOption.isShow" class="dxc "
               v-draggable :show-close="false" :close-on-click-modal="true"  append-to-body :destroy-on-close="true" width="720px">
      <total-field-set v-if="reportTotalFieldSetOption.isShow"
                       :reportObj="reportTotalFieldSetOption.reportObj"
                       :designerType="designerType"
                       :elemObj="reportTotalFieldSetOption.elemObj"
                       :moduleObj="reportTotalFieldSetOption.moduleObj"
                       :reportId="reportTotalFieldSetOption.reportId"
                       :elemId="reportTotalFieldSetOption.elemId"
                       :isShow="reportTotalFieldSetOption.isShow"
                       @returnValue="returnAndDealReportSet"
      ></total-field-set>
    </el-dialog>
    <!--报表 字段条件、行条件处理-->
    <el-dialog v-if="fieldDealOption!=null&&fieldDealOption.isShow" style="z-index: 16500;"
               visibleync v-model="fieldDealOption.isShow" class="dxc "
               v-draggable :show-close="false" :close-on-click-modal="true"  append-to-body
               :destroy-on-close="true" width="900px">
      <field-cdtn-deal v-if="fieldDealOption.isShow"
                       :isFieldDeal="fieldDealOption.isFieldDeal"
                       :reportObj="fieldDealOption.reportObj0"
                       :reportId="fieldDealOption.reportId0"
                       :designerType="designerType"
                       :cellId0="fieldDealOption.cellId0"
                       :itemId0="fieldDealOption.itemId0"
                       :fieldName0="fieldDealOption.fieldName0"
                       :elemObj="fieldDealOption.elemObj"
                       :elemId="fieldDealOption.elemId"
                       :moduleObj="fieldDealOption.moduleObj"
                       :isShow="fieldDealOption.isShow"
                       @returnValue="returnAndDealReportSet"
      ></field-cdtn-deal>
    </el-dialog>
    <!--报表 导出设置-->
    <el-dialog v-if="reportExportSetOption!=null&&reportExportSetOption.isShow" style="z-index: 16500;"
               visibleync v-model="reportExportSetOption.isShow" class="dxc "
               v-draggable :show-close="false" :close-on-click-modal="true"  append-to-body :destroy-on-close="true" width="920px">
      <export-set v-if="reportExportSetOption.isShow"
                  :reportObj="reportExportSetOption.reportObj"
                  :designerType="designerType"
                  :elemObj="reportExportSetOption.elemObj"
                  :moduleObj="reportExportSetOption.moduleObj"
                  :reportId="reportExportSetOption.reportId"
                  :elemId="reportExportSetOption.elemId"
                  :isShow="reportExportSetOption.isShow"
                  @returnValue="returnAndDealReportSet"
      ></export-set>
    </el-dialog>
    <!--报表 导入设置-->
    <el-dialog v-if="reportImportSetOption!=null&&reportImportSetOption.isShow" style="z-index: 16500;"
               visibleync v-model="reportImportSetOption.isShow" class="dxc "
               v-draggable :show-close="false" :close-on-click-modal="true"  append-to-body :destroy-on-close="true" width="920px">
      <import-set v-if="reportImportSetOption.isShow"
                  :reportObj="reportImportSetOption.reportObj"
                  :designerType="designerType"
                  :elemObj="reportImportSetOption.elemObj"
                  :moduleObj="reportImportSetOption.moduleObj"
                  :reportId="reportImportSetOption.reportId"
                  :elemId="reportImportSetOption.elemId"
                  :isShow="reportImportSetOption.isShow"
                  @returnValue="returnAndDealReportSet"
      ></import-set>
    </el-dialog>
    <!--报表 分析报表设置-->
    <el-dialog v-if="reportCrossSetOption!=null&&reportCrossSetOption.isShow" style=""
               visibleync v-model="reportCrossSetOption.isShow" class="dxc "
               v-draggable :show-close="false" :close-on-click-modal="true"  append-to-body
               :destroy-on-close="true" width="600px">
      <cross-set v-if="reportCrossSetOption.isShow"
                 :reportObj="reportCrossSetOption.reportObj"
                 :designerType="designerType"
                 :elemObj="reportCrossSetOption.elemObj"
                 :moduleObj="reportCrossSetOption.moduleObj"
                 :reportId="reportCrossSetOption.reportId"
                 :elemId="reportCrossSetOption.elemId"
                 :isShow="reportCrossSetOption.isShow"
                 @returnValues="returnAndDealReportSet"
      ></cross-set>
    </el-dialog>
    <!--报表 统计图表设置-->
    <el-dialog v-if="reportChartSetOption!=null&&reportChartSetOption.isShow" style="z-index: 16500;"
               visibleync v-model="reportChartSetOption.isShow" class="dxc "
               v-draggable :show-close="false" :close-on-click-modal="true"  append-to-body
               :destroy-on-close="true" width="590px">
      <chart-set v-if="reportChartSetOption.isShow"
                 :reportObj="reportChartSetOption.reportObj"
                 :designerType="designerType"
                 :elemObj="reportChartSetOption.elemObj"
                 :moduleObj="reportChartSetOption.moduleObj"
                 :reportId="reportChartSetOption.reportId"
                 :elemId="reportChartSetOption.elemId"
                 :isShow="reportChartSetOption.isShow"
                 @returnValues="returnAndDealReportSet"
      ></chart-set>
    </el-dialog>
    <!--报表 标题行设置-->
    <el-dialog v-if="reportHeadSetOption!=null&&reportHeadSetOption.isShow" style="z-index: 16500;"
               visibleync v-model="reportHeadSetOption.isShow" class="dxc xsxxd "
               v-draggable :show-close="false" :close-on-click-modal="true"  append-to-body :destroy-on-close="true" width="1100px">
      <head-set v-if="reportHeadSetOption.isShow"
                :reportObj="reportHeadSetOption.reportObj"
                :designerType="designerType"
                :elemObj="reportHeadSetOption.elemObj"
                :moduleObj="reportHeadSetOption.moduleObj"
                :reportId="reportHeadSetOption.reportId"
                :elemId="reportHeadSetOption.elemId"
                :isShow="reportHeadSetOption.isShow"
                @returnValue="returnAndDealReportSet"
      ></head-set>
    </el-dialog>
    <!--报表 SQL事务-->
    <el-dialog v-if="slTransSetOption!=null&&slTransSetOption.isShow" style="z-index: 16500;"
               visibleync v-model="slTransSetOption.isShow" class="dxc xsxxd"
               v-draggable :show-close="false" :close-on-click-modal="true"  append-to-body :destroy-on-close="true" width="1100px">
      <com-sql-trans-panel v-if="slTransSetOption.isShow"
                           :dgnEntId="slTransSetOption.dgnEntId"
                           :mainObj="slTransSetOption.mainObj"
                           :childEntityList="slTransSetOption.childEntityList"
                           :actType="slTransSetOption.actType"
                           :designerType="slTransSetOption.designerType"
                           :moduleTypeUsingSql="slTransSetOption.moduleTypeUsingSql"
                           :mainSqlObj="slTransSetOption.mainSqlObj"
                           :entId="slTransSetOption.entId"
                           :elemId="slTransSetOption.elemId"
                           :fieldList="slTransSetOption.fieldList"
                           :targetDesignerField="slTransSetOption.targetDesignerField"
                           :isShow="slTransSetOption.isShow"
                           @returnValues="returnAndDealReportSet"
      ></com-sql-trans-panel>
    </el-dialog>

    <a v-show="showBtnGoTop" ref="btnGotop" href="javascript:void(0);" class="go-top" id="btnGotop" style=""></a>
  </div>
</template>
<script type="text/javascript">
import { Dcx, DUrl, DAPI, DcxDate, DcxFile, DcxUtil, DcxRgx, StringBuffer } from '@/utils/common'
import { defineAsyncComponent } from 'vue'
import { DPage } from '@/utils/pageRun'
import { DForm } from '@/utils/formRun'
import { _fl0,_flf, _flp } from '@/utils/designer/page/base'
import { DcxSay } from '@/utils/dcxSay'
import { DcxFlow } from '@/utils/flowRun'
import { DgnPage} from '@/utils/designer/page/pageDgn'
import { DStyle} from '@/utils/designer/page/DStyle'
import comCssDgn from '@/design/pages/pagedesigner/cssDgn'
import { DgnBrowseReport } from '@/utils/designer/report/browseReport'
import { DgnSave } from '@/utils/designer/form/save'
import { DgnReportBegin } from '@/utils/designer/report/begin'
import { DgnFormFieldPpt } from '@/utils/designer/form/fieldProperty'
import { DgnCom } from '@/utils/designer/page/common'
import { DgnFormMain } from '@/utils/designer/form/mainProperty'
import { DgnElem } from '@/utils/designer/page/elem'
import { ElemProperty } from '@/utils/designer/page/elemProperty'
import { DPageBuild } from '@/utils/designer/page/pageShow'
import comDropMenu from '@/components/page/dropMenu/dropMenu'
import comCalendar from '@/components/calendar/calendar';
import comTree from '@/components/tree/tree';
import comForm from '@/components/form/form';
const comReport = defineAsyncComponent(() => import('@/yjp/pages/report/report'));
import comChildForm from '@/components/formChild/formChild';
import comDdlDialog from '@/components/formCtrl/ddlDialog/ddlDialog';
import comPageInnerTabs from '@/design/components/page/pageInnerTabs/pageInnerTabs';
import comPageGroup from '@/design/components/page/pageGroup/pageGroup';
import comUds from '@/yjp/pages/userSlt/userSlt';
import comPageProperty from '@/design/pages/pagedesigner/pageProperty';
import comDocumentWeb from "@/yjp/components/document/documentWeb";
import { DgnSearch } from '@/utils/designer/form/search'
import { YjpFlow } from '@/utils/designer/flow/flowDesigner'
import { DgnFormCom } from '@/utils/designer/form/common'
import { DgnInner } from '@/utils/designer/page/innerPage'
import { PrivilegeMng } from '@/utils/designer/report/privilegeSet'
import { DgnToolbar } from '@/utils/designer/report/toolbarSet'
import comDefaultValue from '@/design/pages/formdesigner/components/defaultValue'
import comFieldValidate from '@/design/pages/formdesigner/components/fieldValidate'
import comFieldWidth from '@/design/pages/formdesigner/components/width'
import comSelectOption from '@/design/pages/formdesigner/components/selectOption'
import comSqlDataSource from '@/design/pages/formdesigner/components/sqlDataSource'
import comReportCreate from '@/design/pages/reportdesigner/components/reportCreate'
import comFieldSet from '@/design/pages/reportdesigner/components/fieldSet'
import comReportBaseSet from '@/design/pages/reportdesigner/components/baseSet'
import comReportViewSet from '@/design/pages/reportdesigner/components/viewSet'
import comToolbarSet from '@/design/pages/reportdesigner/components/toolbarSet'
import comSelectorSet from '@/design/pages/formdesigner/selectorSet'
import comReportSortSet from '@/design/pages/reportdesigner/components/sortSet'
import comTotalFieldSet from '@/design/pages/reportdesigner/components/totalFieldSet'
import comExportSet from '@/design/pages/reportdesigner/components/exportSet'
import comImportSet from '@/design/pages/reportdesigner/components/importSet'
import comSearchSet from '@/design/pages/reportdesigner/components/searchSet'
import comCrossSet from '@/design/pages/reportdesigner/components/crossSet'
import comChartSet from '@/design/pages/reportdesigner/components/chartSet'
import comCrossReportDesigner from '@/design/pages/crossReportDesigner'
import comFieldCdtnDeal from '@/design/pages/reportdesigner/components/fieldCdtnDeal'
import comDbTableCreate from '@/design/pages/dbTableCreate'
import switchSet from '@/design/pages/formdesigner/components/switchSet'
import userSelectorSet from '@/design/pages/formdesigner/components/userSelectorSet'
import deptSelectorSet from '@/design/pages/formdesigner/components/deptSelectorSet'
import treeSet from '@/design/pages/formdesigner/components/treeSet'
import sliderSet from '@/design/pages/formdesigner/components/sliderSet'
import starSet from '@/design/pages/formdesigner/components/starSet'
import uploadFileSet from '@/design/pages/formdesigner/components/uploadFileSet'
import selectorSet0 from '@/design/pages/formdesigner/components/selectorSet0'
import treeDesigner from '@/design/pages/treeDesigner'
import childAddToDesigner from '@/design/pages/formdesigner/components/childAddToDesigner'
import comFormCreate from '@/design/pages/formdesigner/formCreate';
import comMenuCreate from '@/design/pages/menuCreate';
import comAppCreate from '@/design/pages/appCreate';
import pageCreate from '@/design/pages/pagedesigner/pageCreate';
import comAppList from '@/design/pages/appList';
import privilegeField from '@/design/pages/reportdesigner/components/privilegeField';
import privilegeFunction from '@/design/pages/reportdesigner/components/privilegeFunction';
import privilegeMenu from '@/design/pages/reportdesigner/components/privilegeMenu';
import { FRChild } from '@/utils/form/listForm'
import { DRun, SReport } from '@/utils/reportRun'
import headSet from '@/design/pages/reportdesigner/components/headSet'
import comSqlTransPanel from '@/design/pages/formdesigner/components/sqlTransPanel';
import formPropertyPanel from '@/design/pages/formdesigner/formPropertyPanel';
import searchPropertyPanel from '@/design/pages/formdesigner/searchPropertyPanel';
import pagePropertyPanel from '@/design/pages/pagedesigner/pagePropertyPanel';
import browsePropertyPanel from '@/design/pages/reportdesigner/browsePropertyPanel';
import childReportAddToDesigner from '@/design/pages/reportdesigner/components/childReportAddToDesigner';
import { VueDraggableNext as draggable} from 'vue-draggable-next'
import { DgnArea } from '@/utils/designer/page/area'
import moduleAddToDesigner from '@/design/pages/pagedesigner/moduleAddToDesigner'
import batchAddFormField from '@/design/pages/formdesigner/components/batchAddFormField'
import batchAddDbField from '@/design/pages/formdesigner/components/batchAddDbField'
import { DgnChildForm } from '@/utils/designer/form/childForm'
import reportPropertyPanel from '@/design/pages/reportdesigner/reportPropertyPanel'
import { GroupMng } from '@/utils/designer/page/groupMnger'
import comReportCreateSource from '@/design/pages/reportdesigner/components/reportCreateSource'
import { DgnReport } from '@/utils/designer/report/common'
import sqlSelect from '@/design/pages/formdesigner/components/sqlSelect'
import { DSSQL } from '@/utils/designer/page/sqlSelect'
import designerForCreate from "@/components/designer/designerForCreate";
import jsEditor from '@/design/pages/formdesigner/components/jsEditor'
import pageTopSet from '@/design/pages/pagedesigner/pageTopSet'
import pageMiddleSet from '@/design/pages/pagedesigner/pageMiddleSet'
import pageBottomSet from '@/design/pages/pagedesigner/pageBottomSet'
import formCondition from '@/design/pages/formdesigner/components/formCondition'
import interPanelWeb from "@/yjp/pages/interPanel/interPanelWeb"
import baseSet from '@/design/pages/reportdesigner/components/baseSet'
import chartSet from '@/design/pages/reportdesigner/components/chartSet'
import crossSet from '@/design/pages/reportdesigner/components/crossSet'
import excelField from '@/design/pages/reportdesigner/components/excelField'
import exportSet from '@/design/pages/reportdesigner/components/exportSet'
import fieldBatchAdd from '@/design/pages/reportdesigner/components/fieldBatchAdd'
import fieldCdtnDeal from '@/design/pages/reportdesigner/components/fieldCdtnDeal'
import fieldSet from '@/design/pages/reportdesigner/components/fieldSet'
import importSet from '@/design/pages/reportdesigner/components/importSet'
import reportCondition from '@/design/pages/reportdesigner/components/reportCondition'
import searchSet from '@/design/pages/reportdesigner/components/searchSet'
import sortSet from '@/design/pages/reportdesigner/components/sortSet'
import toolbarSet from '@/design/pages/reportdesigner/components/toolbarSet'
import totalFieldSet from '@/design/pages/reportdesigner/components/totalFieldSet'
import viewSet from '@/design/pages/reportdesigner/components/viewSet'
import selectorSet from '@/design/pages/formdesigner/selectorSet'
import reportCreate from '@/design/pages/reportdesigner/components/reportCreate'
import { DgnReportCreate } from '@/utils/designer/report/createReport'
let oldActiveId;
let tempActiveData;
let tempRelated;
export default {
  data() {
    return {
      reportConditionSetOption: {
        reportObj: null,
        elemObj: null,
        moduleObj: null,
        reportId: -1,
        elemId: 0,
        isShow: false,
      },
      interPanelOption: {
        busTypeId: null,
        busId: null,
        keyValue: null,
        yjpIx: null,
        busTypeName: null,
        interactDataObj: null,
        isShow: false,
      },
      conditionSetOption: {
        dgnEntId: null,
        formId: null,
        fieldListObj: null,
        mainObj: null,
        pageJson: null,
        childEntityList: null,
        isShow: false,
      },
      pageTopOption: {
        isShow: false,
      },
      pageMiddleOption: {
        isShow: false,
      },
      pageBottomOption: {
        isShow: false,
      },
      jsSetOption: {
        jsCss: null,
        reportId: null,
        dgnEntId: null,
        formId: null,
        attrName: null,
        fieldListObj: null,
        mainObj: null,
        pageJson: null,
        childEntityList: null,
        isShow: false,
      },
      reportRunOption: {
        width: null,
        reportId: -1,
        curSelector: null,
        reportName: "",
        isSelector: false,
        isSingleMode: false,
        elemObj: null,
        "comId": null,
        "isLoad": false,
        'reportObj': null,
        'selectorFormId': null,
        'selectedList': null,
        'totalFieldName': '',
        'totalLeftUnit': '',
        'totalUnit': '',
        'totalValue': '',
        'totalCount': 0,
        isShow: false
      },
      //typeId：对象分类：0, 无；1，页面；2，表单；3，报表；4，查询；5，明细；6，分析报表；7，统计图表；
      //创建分析报表 的参数
      designBeginOption2: {
        "dialogWidth": "1200px",
        "typeId": 6,
        "dataId": 0,
        "tmptmp": null,
        "dataName": null,
        "keyValue": null,
        "isShow": false,
        reportObj: null,
        goOnNewChart: false,
        moduleObj: null,
        reportId: null,
        crossName: null,
        crossId: null,
        crossObj: null,
        targetReportId: null,
        targetReportName: null,
        bindFormObj: null,
        bindReportObj: null,
        bindDbTableObj: null,
        bindTargetGroupObj: null,
        elemObj: null,
        elemId: null,

      },
      //创建报表 的参数
      designBeginOptionReport: {
        "dialogWidth": "1200px",
        "typeId": 3,
        "dataId": 0,
        "tmptmp": null,
        "dataName": null,
        "keyValue": null,
        "isShow": false,
        beginIsSelectReportType: true,
        pageTypeId: 3,
        formTypeId: 0,
        fromType: 0,
        reportName: null,
        reportType: null,
        targetDataId: null,
        goOnNewChart: null,
        justCreate: null,
        initObj: null,
        curFieldObj: null,
        selectSqlType: null,
        sceneId: 6,
        moduleTypeUsingSql: null,
        bindFormObj: null,
        bindDbTableObj: null,
        bindTargetGroupObj: null,
        reportTemplateId: null,
        reportTemplateObj: null,

      },
      sqlSelectOption: {
        mainObj: null,
        pageJson: null,
        childEntityList: null,
        fieldObj: null,
        reportObj: null,
        initObj: null,
        //1，多选项；2，单值；3,多行多字段
        selectSqlType: null,
        fieldList1: null,
        fieldList2: null,
        fieldListObj: null,
        //moduleTypeUsingSql：在reportType=7（SQL）时起效，表示使用此SQL的模块类型，用于SQL的条件设计（typeId）。1，表单；2，报表；3，查询表单；4，明细报表；
        moduleTypeUsingSql: null,
        //targetDataId：例如要在普通列表那里创建分析报表或统计图表，这个targetDataId就是普通列表的reportId。
        targetDataId: null,
        designerType: null,
        //designerType { 'fieldList': fieldList, 'mainFieldList': fieldList0, 'fieldsHtml': strHtml.toString() };
        //DgnCom.getEntityFieldAndHtml(mod, data.entId).fieldList,
        targetDesignerField: null,
        elemId: null,
        formId: null,
        // fieldList:null,
        // ctrlTypeId: null,
        fldId: null,
        isShow: false
      },
      reportCreateOption22: {
        beginIsSelectReportType: true,
        pageTypeId: 3,
        formTypeId: 0,
        fromType: 0,
        reportName: null,
        reportType: null,
        targetDataId: null,
        goOnNewChart: null,
        justCreate: null,
        initObj: null,
        curFieldObj: null,
        selectSqlType: null,
        sceneId: 6,
        moduleTypeUsingSql: null,
        bindFormObj: null,
        bindDbTableObj: null,
        bindTargetGroupObj: null,
        reportTemplateId: null,
        reportTemplateObj: null,
        isShow: false,
      },
      reportCreateOption: {
        beginIsSelectReportType: false,
        pageTypeId: 2,
        formTypeId: 0,
        fromType: 3,
        reportName: null,
        reportType: 1,
        targetDataId: 0,
        goOnNewChart: false,
        justCreate: true,
        initObj: null,
        curFieldObj: null,
        selectSqlType: null,
        sceneId: 0,
        moduleTypeUsingSql: null,
        bindFormObj: null,
        bindDbTableObj: null,
        bindTargetGroupObj: null,
        reportTemplateId: null,
        reportTemplateObj: null,
        isShow: false,
      },
      roleList: null,
      firstCtrlForForm: [{
        "name": DLangss._ttt(('dform.childForm')),
        "id": 75,
        "fontClass": "fa fa-list-ul",
        "iconCss": "color:orange;",
        "textCss": "color:orange;font-size: 14px;",
        "type": "f",
        "aId": "A4",
        "left": false,
        "dataType": 2,
        "isNewChildEntity": true,
        "isChildForm": true,
        "noSearch": true
      }],
      firstCtrlForDetail: [{
        "name": DLangss._ttt(('dform.childReport')),
        "id": 75,
        "fontClass": "fa fa-list-ul",
        "iconCss": "color:orange;",
        "textCss": "color:orange;font-size: 14px;",
        "type": "f",
        "aId": "A4",
        "left": false,
        "dataType": 2,
        "isNewChildEntity": true,
        "isChildReport": true,
        "noSearch": true
      },
        {
          "name": 'SQL' + DLangss._ttt(('common.field')),
          "id": 76,
          "fontClass": "fa fa-list-ul",
          "iconCss": "color:orange;",
          "textCss": "color:orange;font-size: 14px;",
          "type": "f",
          "aId": "A4",
          "left": false,
          "dataType": 2,
          "isSqlField": true,
          "noSearch": true
        },
      ],
      dbFieldBatchAddOption: {
        dgnEntId: 0,
        //主表单的formId
        formId: 0,
        //主表的字段
        fieldListObj: null,
        mainObj: null,
        isShow: false
      },
      formFieldBatchAddOption: {
        dgnEntId: 0,
        //主表单的formId
        formId: 0,
        //主表的字段
        fieldListObj: null,
        mainObj: null,
        isShow: false
      },
      addingElemMsg: {
        areaObj: null,
        elemObj: null,
        dgnEntId: 0,
        //主表单的formId
        formId: 0,
        childEntityList: null,
        //主表的字段
        fieldListObj: null,
        fieldList: null,
        pageTypeId: null,
        pageJson: null,
        mainObj: null,
        isShow: false
      },
      moduleAddOption: {
        areaObj: null,
        elemObj: null,
        dgnEntId: 0,
        //主表单的formId
        formId: 0,
        childEntityList: null,
        //主表的字段
        fieldListObj: null,
        fieldList: null,
        pageTypeId: null,
        pageJson: null,
        mainObj: null,
        isShow: false
      },
      moduleEledms: "",
      moduleElems: "",
      tempAddingObj: null,
      tempAddingArea: null,
      tempAddingField: null,
      tempStartEvt: null,
      tempMoveEvt: null,
      trashOptions: {
        group: {
          name: 'componentsGroup',
          pull: 'clone',
          put: false
        },
        draggable: '.pd-elem-li',
        animation: 340,
        disabled: false,
        ghostClass: "elem-areasss",
        // ghostClass: "sortable-ghost2",  // drop placeholder的css类名
        dragClass: "sortable-chosen2",  // 被选中项的css 类名
        chosenClass: "elem-areasss",  // 正在被拖拽中的css类名
        // // 结束拖拽
        // onEnd: function (/**Event*/evt) {
        //   var itemEl = evt.item;  // dragged HTMLElement
        //   evt.to;    // target list
        //   evt.from;  // previous list
        //   evt.oldIndex;  // element's old index within old parent
        //   evt.newIndex;  // element's new index within new parent
        //   evt.clone // the clone element
        //   evt.pullMode;  // when item is in another sortable: `"clone"` if cloning, `true` if moving
        // },     // 拖拽移动的时候
        // onMove: function (/**Event*/evt, /**Event*/originalEvent) {
        //   alert(3332122);
        //   // Example: https://jsbin.com/nawahef/edit?js,output
        //   evt.dragged; // dragged HTMLElement
        //   evt.draggedRect; // DOMRect {left, top, right, bottom}
        //   evt.related; // HTMLElement on which have guided
        //   evt.relatedRect; // DOMRect
        //   evt.willInsertAfter; // Boolean that is true if Sortable will insert drag element after target by default
        //   originalEvent.clientY; // mouse position
        //   // return false; — for cancel
        //   // return -1; — insert before target
        //   // return 1; — insert after target
        // },
        // // 开始拖拽的时候
        // onStart: function (/**Event*/evt) {
        //   alert(3343434);
        //   evt.oldIndex;  // element index within parent
        // },
      },
      controlTypeList: null,
      hasSortDbFieldList: false,
      curTabElemId: -1,
      curCurTabId: 0,
      allFieldList: null,
      sumbitFieldList: null,
      bodyCssClass: null,
      childReportAddOption: {
        dgnEntId: 0,
        //主表单的formId
        formId: 0,
        childEntityList: null,
        //主表的字段
        fieldListObj: null,
        fieldList: null,
        pageJson: null,
        mainObj: null,
        isShow: false
      },
      //////////////////////////////////////////////////////////////////////////////////////////
      columnTypeList: null,
      formFieldsObj: null,
      dataTypeList: null,
      formDbTableFieldList: null,
      formMsg: null,
      childReportList: null,
      reportSourceFields1: null,
      reportSourceFields2: null,
      // dbTableFieldList:null,
      // dbFieldsObj:null,
      //////////////////////////////////////////////////////////////////////////////////////////
      compareOperatorTypeList: null,
      ctrlBindFieldName: null,
      dbTableFieldList1: null,
      dbTableFieldList2: null,
      sourceFormField1: null,
      sourceFormField2: null,
      sourceId1: null,
      sourceId2: null,
      sourceName1: null,
      sourceName2: null,
      dbFieldsObj: null,
      formMsg1: null,
      formMsg2: null,
      hasSelectField: false,
//////////////////////////////////////////////////////////////////////////////////////////

      pagePropertySetOption: {
        dgnEntId: 0,
        pageJson: null,
        mainObj: null,
        isShow: false
      },
      formPropertySetOption: {
        dgnEntId: 0,
        //主表单的formId
        formId: 0,
        childEntityList: null,
        //主表的字段
        fieldListObj: null,
        fieldList: null,
        pageJson: null,
        mainObj: null,
        isShow: false
      },
      //actType：1，新增数据时；2，修改数据时；3，删除数据时；4，查询数据时；5，工作流节点SQL事务；6，定时器SQL事务；7，按扭点击执行SQL事务
      //designerType:1,页面设计;2,表单(再由formTypeId决定是什么类型的表单);3,搜索;4,明细;5,报表;
      slTransSetOption: {
        dgnEntId: null,
        mainObj: null,
        childEntityList: null,
        actType: null,
        designerType: 0,
        moduleTypeUsingSql: null,
        targetDesignerField: null,
        mainSqlObj: null,
        entId: null,
        fieldList: null,
        moduleObj: null,
        elemId: null,
        elemObj: null,
        isShow: false,
      },
      reportHeadSetOption: {
        reportObj: null,
        elemObj: null,
        moduleObj: null,
        reportId: -1,
        elemId: 0,
        isShow: false,
      },
      // curDesignFieldName:null,//当前编辑的字段名称
      // curDesignFieldIndex:-1,//当前编辑的字段序号
      // curDesignFldId:-1,//当前编辑的字段id
      hasCreateFormProperty: false,
      hasInitMainMsg: false,
      reportOption: null,
      dataMain: null,
      reportType: 0,
      chartId: 0,
      privilegeMenuOption: {
        curRoleId: 6084437,
        curRoleName: "系统管理员",
        isField: false,
        isShow: false
      },
      privilegeFunctionOption: {
        //typeId:1；页面；2，表单；3，报表；4，查询；5，明细；6，分析报表；7，统计图表；8，问卷；9，投票；10，考试；11，普通表单。
        // typeId: 3,
        // dataId: 6085221,
        typeId: 2,
        dataId: 6085801,
        mainObj0: null,
        elemObj: null,
        isShow: false
      },
      privilegeFieldOption: {
        fieldList: null,
        //typeId:1；页面；2，表单；3，报表；4，查询；5，明细；6，分析报表；7，统计图表；8，问卷；9，投票；10，考试；11，普通表单。
        // typeId: 3,
        // dataId: 6085221,
        typeId: 2,
        dataId: 6085801,
        mainObj0: null,
        elemObj: null,
        isShow: false
      },
      appListOption: {
        isRuning: true,
        isSelector: false,
        title: null,
        isShow: false
      },
      pageCreateOption: {
        defaultMode: 1,
        isShow: false
      },
      appCreateOption: {
        defaultMode: false,
        isShow: false
      },
      menuCreateOption: {
        hasTarget: false,
        groupId: 0,
        parentGroupId: 0,
        isSetParam: false,
        isShow: false
      },
      formCreateOption: {
        formTypeId: 2,
        isChildForm: false,
        parentFormId: 0,
        dbTableId: 0,
        dbTableName: null,
        dbConnectId: 0,
        dbTableByname: null,
        bindTargetGroupObj: null,
        bindFormObj: null,
        //1，空白；2，选择模板；
        defaultMode: 1,
        isShow: false,

      },
      childFormAddOption: {
        dgnEntId: 0,
        //主表单的formId
        formId: 0,
        childEntityList: null,
        //主表的字段
        fieldListObj: null,
        pageJson: null,
        mainObj: null,
        isShow: false
      },
      treeOption: {
        treeId: null,
        entId: null,
        moduleId: null,
        //bindMode: 点击节点时: 1, 单选; 2, 多选; 3, 与外部交互;
        bindMode: 1,
        // relateModuleType:使用此树的情况,1:报表的相关树;2,表单的相关树;3,明细的相关树;4,页面的相关树;5,表单的控件使用树;；
        relateModuleType: 5,
        dbTableId: 0,
        dbTableName: null,
        dbConnectId: 0,
        moduleFieldList: null,
        reportObj: null,
        moduleObj: null,
        reportId: 0,
        elemId: 0,
        formId: 0,
        fieldList: null,
        ctrlTypeId: 0,
        fldId: 0,
        isShow: false,
      },
      hasAddRecentDesign: false,
      dbTableOption: {
        isFieldDeal: true,
        reportObj0: null,
        reportId0: -1,
        cellId0: -1,
        itemId0: -1,
        fieldName0: null,
        elemObj: null,
        moduleObj: null,
        elemId: 0,
        isShow: false,
      },
      fieldDealOption: {
        isFieldDeal: true,
        reportObj0: null,
        reportId0: -1,
        cellId0: -1,
        itemId0: -1,
        fieldName0: null,
        elemObj: null,
        moduleObj: null,
        elemId: 0,
        isShow: false,
      },
      reportChartSetOption: {
        reportObj: null,
        elemObj: null,
        moduleObj: null,
        reportId: -1,
        elemId: 0,
        isShow: false,
      },
      reportChartDesignerOption: {
        reportObj: null,
        reportId: -1,
        targetReportId: -1,
        fromType: 1,
        goOnNewChart: false,
        isCreating: false,
        targetReportName: null,
        bindTargetGroupObj: null,
        elemObj: null,
        elemId: 0,
        isShow: false,
      },
      reportCrossDesignerOption: {
        reportObj: null,
        reportId: -1,
        targetReportId: -1,
        fromType: 1,
        goOnNewChart: false,
        isCreating: false,
        targetReportName: null,
        bindTargetGroupObj: null,
        elemObj: null,
        elemId: 0,
        isShow: false,
      },
      reportCrossSetOption: {
        reportObj: null,
        elemObj: null,
        moduleObj: null,
        reportId: -1,
        elemId: 0,
        isShow: false,
      },
      reportSearchSetOption: {
        reportObj: null,
        elemObj: null,
        moduleObj: null,
        reportId: -1,
        elemId: 0,
        isShow: false,
      },
      reportImportSetOption: {
        reportObj: null,
        elemObj: null,
        moduleObj: null,
        reportId: -1,
        elemId: 0,
        isShow: false,
      },
      reportExportSetOption: {
        reportObj: null,
        elemObj: null,
        moduleObj: null,
        reportId: -1,
        elemId: 0,
        isShow: false,
      },
      reportTotalFieldSetOption: {
        reportObj: null,
        elemObj: null,
        moduleObj: null,
        reportId: -1,
        elemId: 0,
        isShow: false,
      },
      reportSortSetOption: {
        reportObj: null,
        elemObj: null,
        moduleObj: null,
        reportId: -1,
        elemId: 0,
        isShow: false,
      },
      reportViewSetOption: {
        reportObj: null,
        elemObj: null,
        moduleObj: null,
        reportId: -1,
        elemId: 0,
        isShow: false,
      },
      selectorCtrlSetOption: {
        dgnEntId: null,
        formId: null,
        fldId: null,
        dgnFieldList: null,
        fieldName: null,
        fieldListObj: null,
        formObj: null,
        mainObj: null,
        fieldObj: null,
        childEntityList: null,
        ctrlTypeId: null,
        isShow: false,
      },
      reportToolbarSetOption: {
        reportObj: null,
        elemObj: null,
        moduleObj: null,
        reportId: 6085221,
        typeId: 1,
        isRowSet: true,
        toolbarTypeId: 2,
        elemId: 0,
        maxElemId: 0,
        isShow: false,
        //工具栏 toolbarTypeId:1,报表的工具栏按扭；2，报表或子报表的行内按扭；3，Excel列表或子表单的行内按扭；4，子报表的工具栏按扭；5，子表单的工具栏按扭；6,Excel列表的工具栏按扭；7，主从表单的操作栏；
      },
      reportBaseSetOption: {
        reportObj: null,
        elemObj: null,
        moduleObj: null,
        reportId: 6085221,
        elemId: 0,
        isShow: false,
      },
      reportFieldSetOption: {
        reportObj: null,
        elemObj: null,
        moduleObj: null,
        reportId: 6085221,
        elemId: 0,
        isShow: false,
      },
      sqlDatasourceOption: {
        "mainObj": null,
        "curEntId": 0,
        "entId": 0,
        //sqlType：1，多结果select语句；2，单结果select语句；3，insert语句；4，update语句；5，delete语句；6，存储过程；
        "sqlType": 1,
        //targetDataId：例如要在普通列表那里创建分析报表或统计图表，这个targetDataId就是普通列表的reportId。
        "targetDataId": 0,
        //initObj：初始化的数据对象（在sqlType=7时使用，其他情况渐不使用）
        "initObj": null,
        //sqlType：1，多结果select语句；2，单结果select语句；3，insert语句；4，update语句；5，delete语句；6，存储过程；
        //sceneId：应用场景ID。链接参数时：1，报表的工具栏(有:搜索字段的值)；2，报表的行内(有:报表字段的值)；3，表单(有:表单控件的值)；4，明细报表(有:报表字段的值)；2~4都有：字段的值
//sceneId：应用场景ID。6，报表或明细报表的读取（select）数据源时（有：搜索字段的值）；7，表单的增改删事务(insert,update,delete)时（有：表单控件的值）；12，报表的删除SQL事务(delete)时；
//sceneId：应用场景ID。0,页面中的链接；1，报表的工具栏(有:搜索字段的值)；2，报表的行内(有:报表字段的值)；3，表单(有:表单控件的值)；4，明细报表(有:报表字段的值)；2~4都有：字段的值
//sceneId：应用场景ID。6，报表或明细报表的读取（select）数据源时（有：搜索字段的值）；7，表单的增改删事务(insert,update,delete，或控件的值读取)时（有：表单控件的值）；
//sceneId：8，明细子报表或表单子表单的工具栏（有：字段的值）；9，明细子报表或表单子表单的行内（有：字段的值）；10，查询表单内（有：字段的值）；11，报表或表单的字段的值读取（select语句，返回单值或多记录数）。
        "sceneId": 3,
        "isReport": false,
        "reportType": 7,
        //moduleTypeUsingSql：在reportType=7（SQL）时起效，表示使用此SQL的模块类型，用于SQL的条件设计（typeId）。1，表单；2，报表；3，查询表单；4，明细报表；
        "moduleTypeUsingSql": 1, "targetDgnObj": null,
        "designerType": 2,
        "fieldList1": null,
        "fieldListObj": null,
        "fieldList2": null,
        "targetDesignerField": null,
        "elemId": 0,
        "formId": 0,
        "fieldList": null,
        "totalFields": null,
        "ctrlTypeId": 0,
        "fldId": null,
        "isShow": false,
      },
      showCopyAreaBtn: false,
      showFieldOperate: false,
      showBtnGoTop: false,
      showSelectOption: false,
      fieldRemarkWrap: false,
      fieldIsHidden: 1,
      writeJumpTo: false,
      canWidth: false,
      canHeight: false,
      // moduleTypeId:0,
      showDefaultValuePpt: false,
      // mainObj:null,
      formOption: null,
      // dlgisSuming:null,
      // option:null,
      isDefaultJson: false,
      // childForms:null,
      isSampleField: false,
      isDesigned: false,
      isDesigner: true,
      creatorId: 0,
      childrenSql: null,
      childrenUI: null,
      showPublishRunBtn: false,
      showOperateMenu: true,
      isFlowDbTable1: true,
      moreOperateMenuList: null,
      tmpSelectDbField: null,
      canSelectedDbFieldList: null,
      curFieldPptTabId: 1,
      showFieldPropterty: false,
      showElemPropterty: false,
      designMode: 1,
      isModeDD: false,
      isModeDD2: false,
      docOption: {
        "isShow": true, "itemIndex": -1,
        "linkJson": null, "isAppendBody": true,
        'id': 'docCenter1', 'isLoad': true,
        'sumObj': {
          "isFirstTime": true, "orderField": null, "myDoc": false, "parentId": 0, "fileTypeId": 0, "isAsc": false,
          "groupId": 0, "busId": 0, "busTypeId": 0, "projectId": 0, "systemId": 0, "fileSource": 0
        },
        'mode': 1, 'canSelectIcon': true, 'canImage': true, 'isSelectMode': true
      },
      styleDgnOption: {
        "isShow": true,
        "style": "color: red;margin-left:10px;text-align:center;",
        "typeId": 0,
        "valueKey": null,
        "clickedE": null
      },
      elemIsInTab: false,
      isForDesigner: true,
      allMainMain: null,
      pageJson: null,
      ctrlList: null,
      curElemTabId: 1,
      ddStyle: null,
      cssStyle: null,
      curFieldJson: null,
      curElemJson: null,
      curGroupJson: null,
      curAreaJson: null,
      curAreaPathKey: null,
      cssOption3Field: {
        "isShow": false,
        "dealFn": null,
        "cssStr": "",
        "html": "",
        "typeId": 3,
        "key1": "",
        "key2": "",
        "isIn": true
      },//字段的样式
      cssOption4Field: {
        "isShow": false,
        "dealFn": null,
        "cssStr": "",
        "html": "",
        "typeId": 4,
        "key1": "",
        "key2": "",
        "isIn": true
      },//字段的样式
      cssOption5Field: {
        "isShow": false,
        "dealFn": null,
        "cssStr": "",
        "html": "",
        "typeId": 5,
        "key1": "",
        "key2": "",
        "isIn": true
      },//字段的样式
      cssOption6Field: {
        "isShow": false,
        "dealFn": null,
        "cssStr": "",
        "html": "",
        "typeId": 6,
        "key1": "",
        "key2": "",
        "isIn": true
      },//字段的样式
      cssOption7Field: {
        "isShow": false,
        "dealFn": null,
        "cssStr": "",
        "html": "",
        "typeId": 7,
        "key1": "",
        "key2": "",
        "isIn": true
      },//字段的样式
      cssOption8Field: {
        "isShow": false,
        "dealFn": null,
        "cssStr": "",
        "html": "",
        "typeId": 8,
        "key1": "",
        "key2": "",
        "isIn": true
      },//字段的样式
      cssOption9Field: {
        "isShow": false,
        "dealFn": null,
        "cssStr": "",
        "html": "",
        "typeId": 9,
        "key1": "",
        "key2": "",
        "isIn": true
      },//字段的样式
      // curElemGroupId:-1,
      // curElemAreaId:-1,
      cssOption3Elem: {
        "isShow": false,
        "dealFn": null,
        "cssStr": "",
        "html": "",
        "typeId": 3,
        "key1": "",
        "key2": "",
        "isIn": true
      },//页面元素的组样式
      cssOption4Elem: {
        "isShow": false,
        "dealFn": null,
        "cssStr": "",
        "html": "",
        "typeId": 4,
        "key1": "",
        "key2": "",
        "isIn": true
      },//页面元素的区域样式
      cssOption9Elem: {
        "isShow": false,
        "dealFn": null,
        "cssStr": "",
        "html": "",
        "typeId": 9,
        "key1": "",
        "key2": "",
        "isIn": true,
        "elemTypeId": 0
      },//页面元素的元素样式

      cssOption2: { "dealFn": null, "cssStr": "", "html": "", "typeId": 0, "key1": "0", "key2": "", "isIn": true },//整个页面
      cssOption3: { "dealFn": null, "cssStr": "", "html": "", "typeId": 0, "key1": "0", "key2": "", "isIn": true },//组
      cssOption4: { "dealFn": null, "cssStr": "", "html": "", "typeId": 0, "key1": "0", "key2": "", "isIn": true },//区域
      cssOption5: { "dealFn": null, "cssStr": "", "html": "", "typeId": 0, "key1": "0", "key2": "", "isIn": true },//字段、字段标题
      cssOption6: { "dealFn": null, "cssStr": "", "html": "", "typeId": 0, "key1": "0", "key2": "", "isIn": true },//
      cssOption7: { "dealFn": null, "cssStr": "", "html": "", "typeId": 0, "key1": "0", "key2": "", "isIn": true },//
      cssOption8: { "dealFn": null, "cssStr": "", "html": "", "typeId": 0, "key1": "0", "key2": "", "isIn": true },//
      cssOption9: { "dealFn": null, "cssStr": "", "html": "", "typeId": 0, "key1": "0", "key2": "", "isIn": true },//
      cssOption10: { "dealFn": null, "cssStr": "", "html": "", "typeId": 0, "key1": "0", "key2": "", "isIn": true },//
      styleScheme: null,
      styleSchemeList: null,
      columnCount: -1,
      styles2: null,
      styles: null,
      $style: null,
      attrJson: null,
      otherMsg: null,
      entStyleId: null,
      curStyleFieldTab: 5,
      styleFieldTabList: null,
      curStyleTab: 1,
      styleTabWidth: 0,
      styleTabList: null,
      fieldListObj: null,
      hadBuildOuterStyle: false,
      canAddedFieldList: null,
      dbTableFieldList: null,
      curLeftTopTabId: 1,
      curLeftBarIndex: 0,
      leftBarList: null,
      // stageClass:null,
      phoneAreaHeight: null,
      curDeviceType: 2,
      mouduleList: null,
      mainObj: null,
      childEntityList: null,
      entId: 0,
      texttt: "",
      texttt3: "",
      pageTypeId: 1,
      // pageId:0,
      // formId:0,
      // reportId:0,
      // searchId:0,
      flowId: null,
      // entId: 0,
      // entName:"页面设计器",
      formId: 0,
      // pageId:0,
      reportId: 0,
      // searchId:0,
      // deviceType:0,
      isDetail: false,
      isBrowse: false,
      isFormDgn: false,
      isFlowDgn: false,
      // isPageDgn:false,
      isReport: false,
      isReportDgn: false,
      isSearchForm: false,

      hw: 0,
      top0: "",
      left0: "",
      url22: "",
      showAddColumns: true,
      showPropertiesSet: false,
      showStyleContainer: false,
      showAreaProperties: false,
      entName: "页面设计器",
      entityObj: null,
      isFlowForm: false,
      accountId: 0,
      systemId: 0,
      userId: 0,
      designerType: 0,//2,表单(再由formTypeId决定是什么类型的表单);1,页面设计;3,搜索;4,明细;5,报表;
      option: { "isPageLoading": true },
      defaultOption: {
        "id": "id",
        "formId": -1,
        "entId": -1,
        "searchId": -1,
        "reportId": -1,
        "pageId": -1,
        "menuId": -1,
        "isNotHtmlMode": true,
        "areaIsField": true,
        "appForm": true,
        "isPageDgn": false,
        "webForm": false,
        "isDesigningAll": false,
        "isPhone": true,
        "entForm": false,
        "isE": false,
        "isAsk": false,
        "deviceType": 1,
        "systemTypeId": 1,
        "designerType": 1,
        "formTypeId": 1,
        "moduleTypeId": 3
      },
      options2: null,
      ops: {},//控件选项设置
      vlds: {},//控件的验证设置
      groupJson: { group: [] },//各组区域
      tempAddingFieldName: "",
      tempAddingFldId: -1,
      tempAddingLiId: "",
      treeList: new Array(),
      maxTagId: -1,
      childDesignObjList: new Array(),//从体设计对象列表
      addFieldState: 1,
      allAjaxData: null,
      maxGroupId: 0,//最大组id
      maxAreaId: 0,//区域的最大唯一标识id
      maxFldId: 0,//字段的最大唯一标识id
      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
      //$ddl_curFieldName : null,//字段设置中的“字段”控件
      //$divSelectField : null,//字段 拖动区
      //$divddl_fieldName : null,//区域设置中的“插入字段” 区
      curDesignFieldName: "",//当前编辑的字段名称
      curDesignFieldIndex: -1,//当前编辑的字段序号
      curDesignFldId: -1,//当前编辑的字段id
      //$curDesignFieldObj : null,//当前编辑的字段对象
      //$Last_FieldObj : null,//上一个编辑的字段对象
      isAreaMode: false,//设计模式。false :字段设计；true :区域设计；
      curDesignEntId: -1,//当前设计的区域所属的实体的id
      //curDesignArea : null,//当前设计的区域
      curDesignAreaId: -1,//当前设计的区域id
      areaListObj: new Array(),//区域数组
      isClickChild: false,//当前点击的是否为从体字段
      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
      $ulFieldProperty: null,//字段设置区
      $formProperties: null,//整体属性区
      $dcxDesigner: null,//设计区 包含整个设计区（设计区+示例区）的对象
      $areaProperties: null,//左边区域属性区
      $sampleLI: null,//示例区
      $ulProperties: null,//整体属性区
      ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
      curAreaFldIdList: new Array(),//当前区域内的字段id数组
      /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
      $divformCtrl: null,//控件拖入区
      $lastAddedArea_FromDragCtrl: null,//最后从控件区拖入控件而产生的控件
      $publishForm: null,
      $publishIframe: null,
      dlgisSuming: null,
      loadingSqlList: null,//各大应用的sql语句
      ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
      systemTypeId: 0,//1,企业信息化管理系统,2,移动建站,
      isNotHtmlMode: false,//区域HTML不可编辑模式
      areaIsField: false,//一个区域一个字段时，意味着点击一个区域，相当于点击字段，要显示字段的属性
      appForm: false,//1，手机App版（难度低，面向大众）；
      isPageDgn: false,//不是页面设计器
      webForm: false,//2，网页上的问卷或表单版（难度低，面向大众，和手机版的区别是控件少点）；
      entForm: false,//3，企业表单（难度最高，最复杂）
      isE: false,//手机版appForm与网页版webForm是否支持企业应用（针对企业，会有一些相关性的东西）
      isAsk: false,//调查问卷版
      menuId: 0,
      searchId: 0,
      formTypeId: 0,// 1，无独立数据表的表单；2，支持独立数据表的表单；3，搜索；4，问卷类；5，测评；5，考卷；1，无独立数据表的企业级表单(数据全部存储在Dcx_FormDataPool中)；2，支持独立数据表的表单；3，搜索；8，普通表单(数据存储在Dcx_FormData和Dcx_FormDataItem中);4，问卷类(不支持企业级复杂业务逻辑的普通表单,主要用于登记和数据收集,问卷,考试,投票的数据全部存储在Dcx_FormData和Dcx_FormDataItem中)；5，投票；6，考卷；7,基于1和2类表单的仅具有编辑部分或全部字段的可以批量编辑的表单，例如：销售线索中的批量转化，客户管理中的批量转移，它不会产生新的数据（dataId），只会对已有数据进行编辑，parentFormId便是它的源表单。
      moduleTypeId: 0,// 1，无独立数据表的表单；2，支持独立数据表的表单；3，搜索；4，问卷类；5，测评；5，考卷
      isPhone: false,
      isPercent: false,
      deviceType: 0,
      ///////////////////////////////////////////////////////////////////////////
      isFlow: false,
      showBackDiv: false,
      isShowDropMenu: false,
      dropItemList: null,
      showBackDiv2: false,
      delBtnWidth: 150,
      sdfsfdf: '',
      flowNextData: { 'notityContent': '', 'sms': false, 'email': false, 'note': false, 'msgContent': '' },
      'nextNodeList': null,
      'flowOption': {
        'flowJson3': null,
        'logCurTabId': 1,
        'isShowFlowNextDlg': false,
        'isShowWFBack': false,
        'isShowWFUserSelector': false,
        'isShowWFHsty': false,
        'isShowWFSign': false,
        'showFlowTopButton': true,
        'commentList': []
      },
      'signOption': {
        signType: 0,//1，手写；2，选已经有的；3，上传图片
        context1: null,
        hasDraw: false, //默认没有画
        src: null,//'https://www.yunjiepei.com/dfc/uploadFiles/qic/2.png'
        showSign: false,
        showSignMenu: false
      },
      'fieldList': [],
      'rvcOption': {},
      windowHeight: 0,
      runChildList: [],
      'maxUploadLen': 1,
      'sltor': { 'totalFieldName': '', 'totalLeftUnit': '', 'totalUnit': '', 'totalValue': '', 'totalCount': 0 },
      'errorObj': { 'errorText': '', 'showError': false, 'warnText': '', 'showWarn': false },
      curDlgFieldObj: null,
      showFormDlg: false,
      'agreeOption': {
        'show': false,
        'imageList': [],
        'dixList': [],
        'signImgUrl': null,
        'comment': '',
        'imageCount': 0,
        'fileCount': 0,
        'showOldSign': false,
        'oldSignImgUrl': null,
        'requireComment': true,
        'requireSign': true,
        'requireImage': true,
        'requireDix': true,
        'activeSign': true,
        'activeImage': true,
        'activeDix': true,
        'curAgreeType': 1//1，同意；2，不同意；
      },
      'cldOption': {
        'showTime': false,
        'isLoad': false,
        'isApp': true,
        'valueKey': '',
        'isShow': false,
        'currentDate': '',
        'top': 0,
        'left': 0,
        'width': 100
      },
      'udsOption': {
        'isLoad': false,
        'selectedList': null,
        'typeId': 0,
        'isApp': true,
        'isPower': false,
        'isShow': false,
        'showDrop': false,
        'comId': null,
        'valueKey': null,
        'fieldObj': null,
        'fieldIndex': -1,
        'clickItem': null,
        'clickOk': null,
        'zIndex': null,
        'targetMod': null
      },
      curTreeId: 0,
      curFormId: 0,
      keyValue: null,
      dataObj: null,
      operateType: 1,
      isAsPage: true,
      isLoadedData: false,
      curInnerId: 1,
      curPageIndex: 1,
      curInnerObj: null,
      menuList: null,
      isHome: false,
      guid: '',
      isApp: true,
      pageId: 0,
      ctrlPrex: '',
      isDlg: false,
      headObj: null,
      showHead: true,
      bodyObj: null,
      innerList: null,
      bottomObj: null,
      showBottom: true,
      showFieldNo: false,
      //////////////////////////////////////////////////////////////////////////////////////////////////
      childForms: new Array(),
      childReports: new Array(),
      //mouduleList:  new Array(),
      areaIdList: new Array(),
      curFieldIndex: -1,
      runObj: null,
      formFieldList: null,
      allFormFieldList: null,
      hiddenFormFieldList: null,
      // runObj: null,
      formMainObj: null,
      formObj: null,
      formFieldJson: null,
      isExcelForm: false,
      isList: false,
      isChild: false,
      oneFieldOptionMsg: {
        "title": null, "top": null, "left": null, "zIndex": 9000, "oneFieldObj": null,
        "fieldValue": null,
        "keyValue": null,
        "keyField": null,
        "keyList": null,
        "dataObj": null,
        "dlgWidth": null, "dlgHeight": null, "dlgTitle": null, "showTitle": false,
        "isShow": false, "isRuning": true, "isSelector": false, "reportId": 0, "reportName": null,
        "formId": 0, "dataId": null, "formObj": null, "ctrlPrex": "AjaxF_",
        "formMainObj": null, "flowRunId": null, "flowId": null, "prcsId": null
        , "linkObj": null, "sqlCdtn": null, "flowRunObj": null, "flowObj": null
      },
      diyOptionMsg: {
        "showFieldSet": false, "dlgWidth": null, "dlgHeight": null, "dlgTitle": null, "showTitle": false,
        "isShow": false, "isRuning": true, "isSelector": false, "reportId": 0, "reportName": null,
        "formId": 0, "dataId": null, "formObj": null, "ctrlPrex": "AjaxF_",
        "formMainObj": null, "flowRunId": null, "flowId": null, "prcsId": null
        , "oneFieldObj": null, "linkObj": null, "sqlCdtn": null
        , "flowRunObj": null, "flowObj": null, "keyList": null, "keyValueList": null
      },
      batchOptionMsg: {
        "showFieldSet": false, "dlgWidth": null, "dlgHeight": null, "dlgTitle": null, "showTitle": false,
        "isShow": false, "isRuning": true, "isSelector": false, "reportId": 0, "reportName": null,
        "formId": 0, "dataId": null, "formObj": null, "ctrlPrex": "AjaxF_",
        "formMainObj": null, "flowRunId": null, "flowId": null, "prcsId": null
        , "oneFieldObj": null, "linkObj": null, "sqlCdtn": null
        , "flowRunObj": null, "flowObj": null, "keyList": null, "keyValueList": null
      },
      emailOptionMsg: {
        "showFieldSet": false, "dlgWidth": null, "dlgHeight": null, "dlgTitle": null, "showTitle": false,
        "isShow": false, "isRuning": true, "isSelector": false, "reportId": 0, "reportName": null,
        "formId": 0, "dataId": null, "formObj": null, "ctrlPrex": "AjaxF_",
        "formMainObj": null, "flowRunId": null, "flowId": null, "prcsId": null
        , "oneFieldObj": null, "linkObj": null, "sqlCdtn": null
        , "flowRunObj": null, "flowObj": null
      },
      formOptionMsg: {
        "dlgWidth": null, "dlgHeight": null, "dlgTitle": null, "showTitle": false,
        "isShow": false, "isRuning": true, "isSelector": false, "reportId": 0, "reportName": null,
        "formId": 0, "dataId": null, "formObj": null, "ctrlPrex": "AjaxF_",
        "formMainObj": null, "flowRunId": null, "flowId": null, "prcsId": null
        , "oneFieldObj": null, "linkObj": null, "sqlCdtn": null
        , "flowRunObj": null, "flowObj": null
      },
      importOptionMsg: {
        "showFieldSet": false, "dlgWidth": null, "dlgHeight": null, "dlgTitle": null, "showTitle": false,
        "isShow": false, "isRuning": true, "isSelector": false, "reportId": 0, "reportName": null,
        "formId": 0, "dataId": null, "formObj": null, "ctrlPrex": "AjaxF_",
        "formMainObj": null, "flowRunId": null, "flowId": null, "prcsId": null
        , "oneFieldObj": null, "linkObj": null, "sqlCdtn": null
        , "flowRunObj": null, "flowObj": null
      },
      exportOptionMsg: {
        "showFieldSet": false, "dlgWidth": null, "dlgHeight": null, "dlgTitle": null, "showTitle": false,
        "isShow": false, "isRuning": true, "isSelector": false, "reportId": 0, "reportName": null,
        "formId": 0, "dataId": null, "formObj": null, "ctrlPrex": "AjaxF_",
        "formMainObj": null, "flowRunId": null, "flowId": null, "prcsId": null
        , "oneFieldObj": null, "linkObj": null, "sqlCdtn": null
        , "flowRunObj": null, "flowObj": null
      },
      // dropItemList: null,
      // isShowDropMenu: false,

      tmpRpt: null,
      // showBackDiv2: false,
      'isShowRMF': false,
      // 'showBackDiv': false,
      selectedList: [],
      isSingleMode: false,
      isSelector: false,
      editIndex: 0,
      // delBtnWidth: 150,
      //删除按钮宽度单位（rpx）
      oneFields: {},
      // isAsPage: true,
      // reportId: 0,
      reportName: null,
      // isApp: true,
      // pageJson: null,
      // isLoadedData: false,
      // curInnerId: 1,
      // curPageIndex: 1,
      // curInnerObj: null,
      // menuList: null,
      // isHome: false,
      // pageTypeId: 3,
      reportObj: null,
      dataList: null,
      entObj: null,
      // guid: '',
      // pageId: 0,
      // entId: 0,
      // ctrlPrex: '',
      // isDlg: false,
      // headObj: null,
      // showHead: true,
      // otherMsg: null,
      // keyValue: null,
      // dataObj: null,
      // bodyObj: null,
      // innerList: null,
      // bottomObj: null,
      // showBottom: true,
      // showFieldNo: false,
      userObj: null,
      sessionId: null,
      userInfo: {
        userId: 0,
        userName: null,
        realName: null,
        accountId: 0,
        nickname: '',
        sex: 0,
        phone: ''
      },
      isFromBack: false
      //////////////////////////////////////////////////上：报表模块属性//////////////////////////////////////////////////////////

    }
  },
  components: {
    comPageProperty, comDropMenu, comCssDgn,
    comCalendar, comTree, comUds, comForm, comReport,
    comChildForm, comDdlDialog, comPageInnerTabs,
    comPageGroup, comDocumentWeb,
    //////////////////////////////////////////////////////////////////////////////////////////////
    comDefaultValue, comFieldValidate, comFieldWidth,
    comSelectOption, comSqlDataSource, comReportCreate,
    comFieldSet, comReportBaseSet, comToolbarSet,
    comSelectorSet, comReportViewSet, comReportSortSet, comTotalFieldSet, comExportSet,
    comImportSet, comSearchSet, comCrossSet, comCrossReportDesigner, comChartSet,
    comFieldCdtnDeal,
    comDbTableCreate,
    switchSet, deptSelectorSet, userSelectorSet, treeSet, treeDesigner,
    sliderSet, starSet, uploadFileSet, selectorSet0,
    childAddToDesigner, comFormCreate, comMenuCreate, comAppCreate,
    pageCreate, comAppList, privilegeField, privilegeFunction,
    privilegeMenu, headSet, comSqlTransPanel, formPropertyPanel, pagePropertyPanel,
    searchPropertyPanel, browsePropertyPanel, childReportAddToDesigner, draggable,
    moduleAddToDesigner, batchAddFormField, batchAddDbField, reportPropertyPanel,
    comReportCreateSource, sqlSelect,
    designerForCreate, jsEditor, pageTopSet,
    pageMiddleSet, pageBottomSet, formCondition, interPanelWeb,

    baseSet, chartSet, crossSet, excelField,
    exportSet, fieldBatchAdd, fieldCdtnDeal, fieldSet,
    importSet,
    reportCondition, searchSet, sortSet, toolbarSet,
    totalFieldSet, viewSet, selectorSet,
    reportCreate,
    //headSet,treeDesigner,comSqlTransPanel,privilegeField,privilegeFunction,////////////////////////////////////////////////////////////////////////////////////////////
  },
  computed: {
    hadSetShceme: function() {
      var mod = this;
      var data = Dcx.getModData(mod);
      var s = null;
      if (!Dcx.isNull(data.styleScheme))
        s = Dcx.getPageStyleScheme(data.styleScheme);
      if (!Dcx.isNull(s))
        return true;
      return false;
    },
  },
  props: {
    propOption: {
      type: Object,
      default: null
    },
    //生成前
    "beforeBuild": {
      type: Function,
      default: null,
      // default: (option) => {
      //   //生成后
      // }
    },
    //生成后
    "afterShowDesigner": {
      type: Function,
      default: null,
      // default: (option) => {
      //   //生成后
      // }
    },
    isInFlowDgn: {
      type: Boolean,
      default: true
    },
    isShow: {
      type: Boolean,
      default: true
    },
    isFromFlow: {
      type: Boolean,
      default: false
    },
    _formId: {
      type: Number,
      default: 0
    },
    _pageId: {
      type: Number,
      default: 0
    },
    _reportId: {
      type: Number,
      default: 0
    },
    _searchId: {
      type: Number,
      default: 0
    },
    _isDetail: {
      type: Boolean,
      default: false
    },
    _isForm: {
      type: Boolean,
      default: false
    },
    _isPage: {
      type: Boolean,
      default: false
    },
    _isBrowse: {
      type: Boolean,
      default: false
    },
    _isFormDgn: {
      type: Boolean,
      default: false
    },
    _isFlowDgn: {
      type: Boolean,
      default: false
    },
    _isPageDgn: {
      type: Boolean,
      default: false
    },
    _isReport: {
      type: Boolean,
      default: false
    },
    _isReportDgn: {
      type: Boolean,
      default: false
    },
    _isSearchForm: {
      type: Boolean,
      default: false
    },
    _deviceType: {
      type: Number,
      default: 0
    },
    // formId: {
    //   type: Number,
    //   default: 0
    // },
    // pageId: {
    //   type: Number,
    //   default: 0
    // },
    // reportId: {
    //   type: Number,
    //   default: 0
    // },
    // searchId: {
    //   type: Number,
    //   default: 0
    // },
    // isDetail: {
    //   type: Boolean,
    //   default: false
    // },
    // isForm: {
    //   type: Boolean,
    //   default: false
    // },
    // isPage: {
    //   type: Boolean,
    //   default: false
    // },
    // isBrowse: {
    //   type: Boolean,
    //   default: false
    // },
    // isFormDgn: {
    //   type: Boolean,
    //   default: false
    // },
    // isFlowDgn: {
    //   type: Boolean,
    //   default: false
    // },
    // isPageDgn: {
    //   type: Boolean,
    //   default: false
    // },
    // isReport: {
    //   type: Boolean,
    //   default: false
    // },
    // isReportDgn: {
    //   type: Boolean,
    //   default: false
    // },
    // isSearchForm: {
    //   type: Boolean,
    //   default: false
    // },
    // deviceType: {
    //   type: Number,
    //   default: 0
    // },
  },
  created() {
    var mod = this;
    var options = Dcx.getComQuery(this);
    this.options2 = options;
    var data = Dcx.getModData(mod);
  },
  beforeMount() {
    var mod = this;
    var data = Dcx.getModData(mod);
    var obj = {
      "formId": data._formId,
      "pageId": data._pageId,
      "reportId": data._reportId,
      "searchId": data._searchId,
      "isDetail": data._isDetail,
      "isForm": data._isForm,
      "isPage": data._isPage,
      "isBrowse": data._isBrowse,
      "isFormDgn": data._isFormDgn,
      "isFlowDgn": data._isFlowDgn,
      "isPageDgn": data._isPageDgn,
      "isReport": data._isReport,
      "isReportDgn": data._isReportDgn,
      "isSearchForm": data._isSearchForm,
      "deviceType": data._deviceType,
    };
    Dcx.setModData(mod, obj);
    if (data.propOption) {
      this.options2 = data.propOption;
    }
  },
  mounted() {
    var mod = this;
    var data = Dcx.getModData(mod);
    var fgh4les = this.$refs;
    var aaaae = this.$refs.dgnContainer;
    mod.$container = Dcx.getJqueryObj(mod, "dgnContainer");
    // $(mod.$refs.dgnContainer);
    // return;
    // DForm._begin(this, this.options2);
    var options = this.options2;
    var urlOption = this.options2;
    Dcx.setModData(mod, options);
    // Dcx.setModData(mod, {
    //   "pageId": options.pageId,
    //   "isPageDgn": true,
    //   "entId": options.pageId
    // });
    var data = Dcx.getModData(mod);
    var reportObj = data.reportObj;
    var designerType = data.designerType;
    if (designerType < 1) {
      if (data.isPageDgn)
        designerType = 1;
      else if (data.isReportDgn)
        designerType = 5;
      else if (data.isSearchForm)
        designerType = 3;
      else if (data.isBrowse)
        designerType = 4;
      else if (data.isFormDgn)
        designerType = 2;
      else if (data.isFlowDgn)
        designerType = 6;
      Dcx.setModData(mod, { "designerType": designerType });

    }
    if (designerType < 1) {
      var obj = {
        "isModeDD": (urlOption.isModeDD == true || Dcx.toInt(urlOption.isModeDD) > 0 ? true : false),
        "isFormDgn": (urlOption.isFormDgn == true || Dcx.toInt(urlOption.isFormDgn) > 0 ? true : false),
        "isFlowDgn": (urlOption.isFlowDgn == true || Dcx.toInt(urlOption.isFlowDgn) > 0 ? true : false),
        "isPageDgn": (urlOption.isPageDgn == true || Dcx.toInt(urlOption.isPageDgn) > 0 ? true : false),
        "isReport": (urlOption.isReport == true || Dcx.toInt(urlOption.isReport) > 0 ? true : false),
        "isReportDgn": (urlOption.isReportDgn == true || Dcx.toInt(urlOption.isReportDgn) > 0 ? true : false),
        "isSearchForm": (urlOption.isSearchForm == true || Dcx.toInt(urlOption.isSearchForm) > 0 ? true : false),
        "isSearchFormDgn": (urlOption.isSearchForm == true || Dcx.toInt(urlOption.isSearchForm) > 0 ? true : false),
        "isDetail": (urlOption.isDetail == true || Dcx.toInt(urlOption.isDetail) > 0 ? true : false),
        "isForm": (urlOption.isForm == true || Dcx.toInt(urlOption.isForm) > 0 ? true : false),
        "isPage": (urlOption.isPage == true || Dcx.toInt(urlOption.isPage) > 0 ? true : false),
        "isBrowse": (urlOption.isBrowse == true || Dcx.toInt(urlOption.isBrowse) > 0 ? true : false),
        "pageId": Dcx.toInt(urlOption.pageId),
        "reportId": Dcx.toInt(urlOption.reportId),
        "searchId": Dcx.toInt(urlOption.searchId),
        "formId": Dcx.toInt(urlOption.formId),
        "formTypeId": Dcx.toInt(urlOption.formTypeId),
        "deviceType": Dcx.toInt(urlOption.deviceType),
      };
      Dcx.setModData(mod, obj);
      if (obj.isPageDgn || obj.pageId > 0)
        designerType = 1;
      else if (obj.isReportDgn)
        designerType = 5;
      else if (obj.isSearchForm || obj.searchId > 0)
        designerType = 3;
      else if (obj.isBrowse || obj.isDetail)
        designerType = 4;
      else if (obj.isFormDgn || obj.formId > 0)
        designerType = 2;
      else if (obj.isFlowDgn)
        designerType = 6;
      Dcx.setModData(mod, { "designerType": designerType });

    }

    var isPage = (designerType == 1 ? true : false);
    var isSearch = (designerType == 3 ? true : false);
    var isForm = (designerType == 2 ? true : false);
    var isDetail = (designerType == 4 ? true : false);
    var texttt = DLangss._ttt("common.form");

    var texttt = DLangss._ttt("common.form");
    if (isPage)
      texttt = DLangss._ttt("common.page");
    var texttt3 = _flp("control");//"控件";
    if (isPage)
      texttt3 = _flp("elem");//"元素";
    else if (designerType == 3)
      texttt3 = _flp("control");//"控件";
    if (designerType == 5) {
      texttt = DLangss._ttt("common.report");
      texttt3 = _flp("elem");//"元素";
    }
    Dcx.setModData(mod, { "texttt": texttt, "texttt3": texttt3 });
    var modProp = Dcx.getModProperties(mod);
    if (modProp.beforeBuild)
      modProp.beforeBuild(mod);
    DgnPage.buildDesignerWhenLoading(mod);
  },
  methods: {
    returnAndDealReportSet: function(e) {
      var mod = this;
      var data = Dcx.getModData(mod);
      var detailObj = Dcx.getDetailOfEvent(e, mod);
      var reportObj = data.reportObj;

      // "curMdKey":"reportBaseSetOption"
      var returnData = detailObj.e;
      var showKey = data.curMdKey + ".isShow";
      //Dcx.setModData(mod, { [data.curMdKey+".isShow"]: false });
// alert(returnData.doClose)
      if (returnData.doClose || returnData.doClose == undefined) {
        Dcx.setModData(mod, { [showKey]: false });
      }
      if (returnData.justClose) {
        return;
      }
      var curMdKey = data.curMdKey;
      var optionMsg = data[curMdKey];
      if (curMdKey == 'reportBaseSetOption') {
        reportObj.pageSize = returnData.reportObj.pageSize;
        reportObj.reportName = returnData.reportObj.reportName;
        reportObj.remark = returnData.reportObj.remark;
        reportObj.extAttr = returnData.extendAttr;

        // var evt = {
        //   "reportId": reportObj.reportId,
        //   "extendAttr": extendAttr,
        //   "reportObj": reportObj,
        //   "doClose": doClose,
        //   "justClose": (justClose ? true : false)
        // };

        return;
      }
      else if (curMdKey == 'reportToolbarSetOption') {
        var selectedList = returnData.selectedList;
        // console.log(selectedList)
        // debugger
        // alert(Dcx.jsonTo(selectedList))
        //toolbarTypeId:1,报表的工具栏按扭；2，主报表或子报表的行内按扭；3，Excel列表或子表单的行内按扭；
//4，子报表的工具栏按扭；5，子表单的工具栏按扭；6,Excel列表的工具栏按扭；7，主从表单的操作栏；
        if (returnData.toolbarTypeId == 2 || returnData.toolbarTypeId == 3) {
          if (!reportObj.operateColumn)
            reportObj.operateColumn = { "btns": selectedList };
          reportObj.operateColumn.btns = selectedList;
        } else {

          if (!reportObj.toolbar)
            reportObj.toolbar = { "btns": selectedList };
          reportObj.toolbar.btns = selectedList;
          reportObj.toolBtns = selectedList;
        }
        return;
      }
      else if (curMdKey == 'reportConditionSetOption') {
        var reportObj2 = returnData.reportObj;
        reportObj.conditions = reportObj2.conditions;
        return;
      }
      else if (curMdKey == 'fieldDealOption') {
        var reportObj2 = returnData.reportObj;
        reportObj.rowDeal = reportObj2.rowDeal;
        return;
      }
      else if (curMdKey == 'reportCrossSetOption') {
        var reportObj2 = returnData.reportObj;
        // alert(Dcx.jsonTo(reportObj2))
        reportObj.crossList = reportObj2.crossList;//Dcx.jsonTo();
        return;
      }
      else if (curMdKey == 'reportFieldSetOption') {
        var reportObj2 = returnData.reportObj;
        // alert(Dcx.jsonTo(reportObj2))
        reportObj.cellList = Dcx.toJson(reportObj2.cellList);
        return;
      }

      // var imageList = returnJson.imageList;
      // if (imageList.length < 1)
      //   return;
      // var docOption = data.docOption;
      // var key='fieldObj.extAttr.optionList['+docOption.itemIndex+'].items['+docOption.itemIndex2+'].imgPath';
      // Dcx.setModData(mod, { [key]: imageList[0].imgPath });
      // Dcx.setModData(mod, { "docOption.isShow":false  });
      // this.dealComptDataChange();
    },
    showOneReportOpereate: function(id) {
      var mod = this;
      var data = Dcx.getModData(mod);
      var reportObj = data.mainObj;
      if (!reportObj)
        reportObj = data.reportObj;
      // var _dfdf_f = function(fieldname) {
      //   var reportObj = DgnCom.getCurReportObj(mod);//在report_create.js
      //   reportObj.extendAttr = (Dcx.isNull(reportObj.extendAttr) ? {} : Dcx.toJson(reportObj.extendAttr));
      //   var extAttr = reportObj.extendAttr;
      //
      //   var jsCss = (extAttr[fieldname] ? Dcx.jsonTo(extAttr[fieldname]) : '');
      //   var okFunction = function(jsCss) {
      //     extAttr[fieldname] = (Dcx.isNull(jsCss) ? undefined : jsCss);
      //
      //     var _f_ok4 = function() {
      //     };
      //     var obj = extAttr;
      //     //保存 到数据库
      //     DgnReportBase.saveBaseSet(reportObj.reportId, reportObj.reportName, reportObj.remark, reportObj.pageSize, Dcx.jsonTo(obj), true, _f_ok4);
      //     reportObj.isDefaultExtendAttr = false;
      //   };
      //   DgnCom.showJsEditor(jsCss, okFunction);
      //
      // };
      switch (id) {
        case 91://编写 扩展接口的js脚本
          mod.clickDiyExtendJs("extendJs");
          // _dfdf_f('extendJs');
          break;
        case 92://编写 JS脚本
          mod.clickDiyExtendJs("diyJs");
          //_dfdf_f('diyJs');
          break;
        case 81://发布页面
          Dcx.confirm("确定要发布此页面吗？", function() {
            Dcx.tips('您点击了发布', 2);
          }, function() {
            Dcx.tips('你取消了发布', 2);
          });
          break;
        case 82://删除页面
          //DgnPage.deleteInnerPage();
          break;
        case 83://新建页面
          DgnIcon.goToBuildNewPage();
          break;
        case 84://设置页面
          mod.clickPropertyTab({}, 2);
          // Dcx.getCurDgner().$("#tabs").children("li:eq(1)").click();
          break;
        case 85://设置顶栏
          Dcx.setModData(mod, { "pageTopOption.isShow": false });
          setTimeout(function() {
            Dcx.setModData(mod, { "pageTopOption.isShow": true });
          });
          //DgnInner.createToolbarBtns();
          break;
        case 86://设置内容页
          Dcx.setModData(mod, { "pageMiddleOption.isShow": false });
          setTimeout(function() {
            Dcx.setModData(mod, { "pageMiddleOption.isShow": true });
          });
          //DgnInner.createPageContentMnger();
          break;
        case 87://设置底栏
          Dcx.setModData(mod, { "pageBottomOption.isShow": false });
          setTimeout(function() {
            Dcx.setModData(mod, { "pageBottomOption.isShow": true });
          });
          //DgnInner.createPageBottomMnger();
          break;
        case 88://发布APP
          break;
        case 89://互动面板
          // DgnPage.showPanelForDgner(this);
          DgnPage.showPanelForDgner(mod);
          break;

        case 14://全局设置
          var reportBaseSetOption = {
            reportObj: data.reportObj,
            elemObj: data.elemObj,
            moduleObj: data.moduleObj,
            reportId: data.reportId,
            elemId: data.elemId,
            isShow: true
          };
          Dcx.setModData(mod, { "reportBaseSetOption": reportBaseSetOption, "curMdKey": "reportBaseSetOption" });

          break;
        case 1://设置列（字段）属性
          var reportFieldSetOption = {
            reportObj: data.reportObj,
            elemObj: data.elemObj,
            moduleObj: data.moduleObj,
            reportId: data.reportId,
            elemId: data.elemId,
            isShow: true
          };
          Dcx.setModData(mod, { "reportFieldSetOption": reportFieldSetOption, "curMdKey": "reportFieldSetOption" });
          break;
        case 42://设置 excel报表的字段
          var reportFieldSetOption = {
            reportObj: data.reportObj,
            elemObj: data.elemObj,
            moduleObj: data.moduleObj,
            reportId: data.reportId,
            elemId: data.elemId,
            isShow: true
          };
          Dcx.setModData(mod, { "reportFieldSetOption": reportFieldSetOption, "curMdKey": "reportFieldSetOption" });

          break;
        case 16://设置工具栏
          //工具栏 toolbarTypeId:1,报表的工具栏按扭；2，报表或子报表的行内按扭；3，Excel列表或子表单的行内按扭；4，子报表的工具栏按扭；5，子表单的工具栏按扭；6,Excel列表的工具栏按扭；7，主从表单的操作栏；
          var toolbarTypeId = data.reportObj.reportType == 8 ? 6 : 1;
          var reportToolbarSetOption = {
            reportObj: data.reportObj,
            elemObj: data.elemObj,
            moduleObj: data.moduleObj,
            reportId: data.reportId,
            elemId: data.elemId,
            typeId: 1,
            isRowSet: false,
            toolbarTypeId: toolbarTypeId,
            maxElemId: 0,
            isShow: true
          };
          Dcx.setModData(mod, {
            "reportToolbarSetOption": reportToolbarSetOption,
            "curMdKey": "reportToolbarSetOption"
          });
          break;
        case 17://设置操作列
          //工具栏 toolbarTypeId:1,报表的工具栏按扭；2，报表或子报表的行内按扭；3，Excel列表或子表单的行内按扭；4，子报表的工具栏按扭；5，子表单的工具栏按扭；6,Excel列表的工具栏按扭；7，主从表单的操作栏；
          var toolbarTypeId = data.reportObj.reportType == 8 ? 3 : 2;
          var reportToolbarSetOption = {
            reportObj: data.reportObj,
            elemObj: data.elemObj,
            moduleObj: data.moduleObj,
            reportId: data.reportId,
            elemId: data.elemId,
            typeId: 1,
            isRowSet: true,
            toolbarTypeId: toolbarTypeId,
            maxElemId: 0,
            isShow: true
          };
          Dcx.setModData(mod, {
            "reportToolbarSetOption": reportToolbarSetOption,
            "curMdKey": "reportToolbarSetOption"
          });
          //工具栏 toolbarTypeId:1,报表的工具栏按扭；2，报表或子报表的行内按扭；3，Excel列表或子表单的行内按扭；4，子报表的工具栏按扭；5，子表单的工具栏按扭；6,Excel列表的工具栏按扭；7，主从表单的操作栏；
          break;
        case 5://查询模块
          var reportSearchSetOption = {
            reportObj: data.reportObj,
            elemObj: data.elemObj,
            moduleObj: data.moduleObj,
            reportId: data.reportId,
            elemId: data.elemId,
            isShow: true
          };
          Dcx.setModData(mod, { "reportSearchSetOption": reportSearchSetOption, "curMdKey": "reportSearchSetOption" });
          break;
        case 3://常用筛选
          var reportViewSetOption = {
            reportObj: data.reportObj,
            elemObj: data.elemObj,
            moduleObj: data.moduleObj,
            reportId: data.reportId,
            elemId: data.elemId,
            isShow: true
          };
          Dcx.setModData(mod, { "reportViewSetOption": reportViewSetOption, "curMdKey": "reportViewSetOption" });
          break;
        case 36://配置数据源
          // //配置 报表的数据源
          // DgnReportSet.createReportSourceSet = function (clickedObj) {
          //   var reportObj0 = DgnCom.getCurReportObj(mod);
          //   var reportObj = {};
          //   //alert (typeof (reportObj0.reportId ));
          //   //alert (typeof (new Date () ));
          //   //alert (typeof (reportObj0.reportName ));
          //   for (var key in reportObj0) {
          //     var obj=reportObj0[key],ty=typeof(obj);
          //     if(ty=='string'||ty=='number')
          //       reportObj[key] =obj ;
          //   }
          //   Dcx.convertParameters  (reportObj) ;
          //   var $elem = DgnArea.getElemId(curMod);
          //   var fromType = 1;
          //   var $reportElemContainer = $elem;
          //   var reportName = reportObj.reportName;
          //   var reportType = reportObj.reportType,
          //     targetDataId = reportObj.reportId;
          //   var goOnNewChart = false;
          //   var okFunction = null;
          //   var justCreate = true;
          //   var initObj = reportObj;
          //   var selectSqlType = 1;
          //   var sceneId = 6;
          //   var moduleTypeUsingSql = 1;
          //   DgnReportCreate.showCreateReport(clickedObj, fromType, $reportElemContainer, reportName,
          //     reportType, targetDataId, goOnNewChart, okFunction, justCreate, initObj,
          //     selectSqlType, sceneId, moduleTypeUsingSql);
          // };
          var reportCreateOption = {
            beginIsSelectReportType: false,
            pageTypeId: 3,
            formTypeId: 0,
            fromType: 1,
            reportName: reportObj.reportName,
            reportType: reportObj.reportType,
            targetDataId: reportObj.reportId,
            goOnNewChart: false,
            justCreate: true,
            initObj: reportObj,
            curFieldObj: null,
            selectSqlType: 1,
            sceneId: 6,
            moduleTypeUsingSql: 1,
            bindFormObj: null,
            bindDbTableObj: null,
            bindTargetGroupObj: null,
            reportTemplateId: null,
            reportTemplateObj: null,
            isShow: true,
          };
          // Dcx.setModData(mod, { "reportCreateOption": reportCreateOption, "curMdKey": "reportCreateOption" });
          Dcx.setModData(mod, { "reportCreateOption.isShow": false });
          setTimeout(function() {
            Dcx.setModData(mod, { "reportCreateOption": reportCreateOption, "curMdKey": "reportCreateOption" });
          });
          break;
        case 6://表单设计
          break;
        case 26://数据过滤
          var reportConditionSetOption = {
            reportObj: data.reportObj,
            elemObj: data.elemObj,
            moduleObj: data.moduleObj,
            reportId: data.reportId,
            elemId: data.elemId,
            isShow: true
          };
          Dcx.setModData(mod, {
            "reportConditionSetOption": reportConditionSetOption,
            "curMdKey": "reportConditionSetOption"
          });
          break;
        case 4://设置排序
          var reportSortSetOption = {
            reportObj: data.reportObj,
            elemObj: data.elemObj,
            moduleObj: data.moduleObj,
            reportId: data.reportId,
            elemId: data.elemId,
            isShow: true
          };
          Dcx.setModData(mod, { "reportSortSetOption": reportSortSetOption, "curMdKey": "reportSortSetOption" });
          break;
        case 24://汇总字段
          var reportTotalFieldSetOption = {
            reportObj: data.reportObj,
            elemObj: data.elemObj,
            moduleObj: data.moduleObj,
            reportId: data.reportId,
            elemId: data.elemId,
            isShow: true
          };
          Dcx.setModData(mod, {
            "reportTotalFieldSetOption": reportTotalFieldSetOption,
            "curMdKey": "reportTotalFieldSetOption"
          });

          break;
        case 7://详情页面(明细报表)

          break;
        case 41://多行标题栏
          var reportHeadSetOption = {
            reportObj: data.reportObj,
            elemObj: data.elemObj,
            moduleObj: data.moduleObj,
            reportId: data.reportId,
            elemId: data.elemId,
            isShow: true
          };
          Dcx.setModData(mod, { "reportHeadSetOption": reportHeadSetOption, "curMdKey": "reportHeadSetOption" });

          break;
        case 15://行条件处理
          var fieldDealOption = {
            isFieldDeal: false,
            reportObj0: reportObj,
            reportId0: reportObj.reportId,
            cellId0: -1,
            itemId0: -1,
            fieldName0: null,
            elemObj: data.elemObj,
            moduleObj: data.moduleObj,
            elemId: data.elemId,
            isShow: true
          };
          Dcx.setModData(mod, { "fieldDealOption": fieldDealOption, "curMdKey": "fieldDealOption" });
          break;
        case 9://分析报表
          // var  reportCrossDesignerOption= {
          //   reportObj: reportObj,
          //   targetReportId: reportObj.reportId,
          //   fromType: 1,
          //   goOnNewChart: false,
          //   isCreating: false,
          //   targetReportName: reportObj.reportName,
          //   bindTargetGroupObj: null,
          //   elemObj: data.elemObj,
          //   elemId: data.elemId,
          //   isShow: true
          // };
          var reportCrossSetOption = {
            reportObj: data.reportObj,
            elemObj: data.elemObj,
            moduleObj: data.moduleObj,
            reportId: data.reportId,
            elemId: data.elemId,
            isShow: true
          };
          Dcx.setModData(mod, { "reportCrossSetOption": reportCrossSetOption, "curMdKey": "reportCrossSetOption" });
          break;
        case 10://统计图表
          var reportChartSetOption = {
            reportObj: data.reportObj,
            elemObj: data.elemObj,
            moduleObj: data.moduleObj,
            reportId: data.reportId,
            elemId: data.elemId,
            isShow: true
          };
          Dcx.setModData(mod, { "reportChartSetOption": reportChartSetOption, "curMdKey": "reportChartSetOption" });

          break;
        case 34://设置 功能权限
          //typeId:1；页面；2，表单；3，报表；4，查询；5，明细；6，分析报表；7，统计图表；8，问卷；9，投票；10，考试；11，普通表单。
          var privilegeFunctionOption = {
            fieldList: null,
            typeId: 3,
            mainObj0: data.reportObj,
            dataId: reportObj.reportId,
            elemObj: data.elemObj,
            isShow: true
          };
          Dcx.setModData(mod, {
            "privilegeFunctionOption": privilegeFunctionOption,
            "curMdKey": "privilegeFunctionOption"
          });
          break;
        case 35://设置 字段权限
          //typeId:1；页面；2，表单；3，报表；4，查询；5，明细；6，分析报表；7，统计图表；8，问卷；9，投票；10，考试；11，普通表单。
          var privilegeFieldOption = {
            fieldList: null,
            typeId: 3,
            mainObj0: data.reportObj,
            dataId: reportObj.reportId,
            elemObj: data.elemObj,
            isShow: true
          };
          Dcx.setModData(mod, { "privilegeFieldOption": privilegeFieldOption, "curMdKey": "privilegeFieldOption" });

          break;
        case 13://树模块
          if (isNaN(reportObj.treeId))
            reportObj.treeId = -1;
          var dbTableId = -1;
          var dbTableName = null;
          var dbConnectId = 0;
          if (reportObj.sourceType == 2) {
            dbTableId = reportObj.sourceId;
            dbTableName = reportObj.sourceName;
            dbConnectId = reportObj.dbConnectId;
          }
          var treeOption = {
            treeId: reportObj.treeId,
            entId: reportObj.reportId,
            moduleId: -1,
            //bindMode: 点击节点时: 1, 单选; 2, 多选; 3, 与外部交互;
            bindMode: 3,
            // relateModuleType:使用此树的情况,1:报表的相关树;2,表单的相关树;3,明细的相关树;4,页面的相关树;5,表单的控件使用树;；
            relateModuleType: 1,
            dbTableId: dbTableId,
            dbTableName: dbTableName,
            dbConnectId: dbConnectId,
            moduleFieldList: null,
            reportObj: reportObj,
            moduleObj: data.moduleObj,
            reportId: reportObj.reportId,
            elemId: data.elemId,
            formId: reportObj.formId,
            fieldList: null,
            ctrlTypeId: 0,
            fldId: 0,
            isShow: true
          };
          Dcx.setModData(mod, { "treeOption": treeOption, "curMdKey": "treeOption" });

          break;
        case 12://导入配置
          var reportImportSetOption = {
            reportObj: data.reportObj,
            elemObj: data.elemObj,
            moduleObj: data.moduleObj,
            reportId: data.reportId,
            elemId: data.elemId,
            isShow: true
          };
          Dcx.setModData(mod, { "reportImportSetOption": reportImportSetOption, "curMdKey": "reportImportSetOption" });

          break;
        case 18://导出配置
          var reportExportSetOption = {
            reportObj: data.reportObj,
            elemObj: data.elemObj,
            moduleObj: data.moduleObj,
            reportId: data.reportId,
            elemId: data.elemId,
            isShow: true
          };
          Dcx.setModData(mod, { "reportExportSetOption": reportExportSetOption, "curMdKey": "reportExportSetOption" });

          break;
        case 21://删除数据的SQL事务
          // var reportObj = DgnCom.getCurReportObj(mod);
          // reportObj.entId = reportObj.reportId;
          // reportObj.mainObj = reportObj;
          // reportObj.entName = reportObj.entName;
          // reportObj.designerType = 1;
          // TSQL2.createSqlSet(mod, 3, 2, true, reportObj);//在TSQL2.js
          var slTransSetOption = {
            dgnEntId: reportObj.reportId,
            mainObj: reportObj,
            childEntityList: null,
            actType: 3,
            designerType: 1,
            moduleTypeUsingSql: 2,
            isReport: true,
            targetDesignerField: null,
            mainSqlObj: null,
            entId: reportObj.reportId,
            fieldList: null,
            moduleObj: data.moduleObj,
            elemId: data.elemId,
            elemObj: data.elemObj,
            isShow: true,
          };
          Dcx.setModData(mod, { "slTransSetOption": slTransSetOption, "curMdKey": "slTransSetOption" });
          break;
      }
      // this.dealComptDataChange();
    },
    returnAndDealTreeId2: function(e) {
      var mod = this;
      var data = Dcx.getModData(mod);
      var mainObj = data.mainObj;
      var detailObj = Dcx.getDetailOfEvent(e, mod);
      // console.log(e);
      var returnData = (detailObj.e ? detailObj.e : detailObj);
      var treeObj = returnData.treeObj;
      var treeId = returnData.treeId;
      if (!treeObj)
        return;
      mainObj.treeId = treeObj.treeId;
    },
    returnAndDealMenuCreate2: function(e) {
      var mod = this;
      var data = Dcx.getModData(mod);
      var detailObj = Dcx.getDetailOfEvent(e, mod);
      var returnData = detailObj.e;

      if (returnData.justClose) {
        Dcx.setModData(mod, { "menuCreateOption.isShow": false });
        return;
      }
      Dcx.setModData(mod, { "menuCreateOption.isShow": false });
      var dataObj = returnData.dataObj;
    },
    returnAndDealInterPanel: function(e) {
      var mod = this;
      var data = Dcx.getModData(this);
      var detailObj = Dcx.getDetailOfEvent(e, mod);
      var returnData = detailObj.e;
      console.log(returnData);
      if (returnData.doClose || returnData.doClose == undefined) {
        Dcx.setModData(mod, { "interPanelOption.isShow": false });
      }
      if (returnData.justClose) {
        return;
      }

    },
    returnAndDealFormCondtionSet: function(e) {
      var mod = this;
      var data = Dcx.getModData(mod);
      var detailObj = Dcx.getDetailOfEvent(e, mod);
      var returnData = detailObj.e;
      // alert(returnData.justClose)
      if (returnData.justClose) {
        Dcx.setModData(mod, { "conditionSetOption.isShow": false });
        return;
      }
      Dcx.setModData(mod, { "conditionSetOption.isShow": false });
      var mainObj = data.mainObj;
      mainObj.conditions = (returnData.conditionList ? Dcx.jsonTo(returnData.conditionList) : null);
      // console.log( 'mainObj.conditions')
      // console.log( mainObj.conditions)

    },
    //设置表单过滤条件
    clickSetCondtion: function(e) {
      var mod = this;
      var data = Dcx.getModData(mod);
      // var mainObj = data.mainObj;
      var conditionSetOption = {
        dgnEntId: data.entId,
        formId: data.formId,
        fieldListObj: data.fieldListObj,
        mainObj: data.mainObj,
        pageJson: data.pageJson,
        childEntityList: data.childEntityList,
        isShow: true,
      };
      // Dcx.setModData(mod, { "conditionSetOption": conditionSetOption, "curMdKey": "conditionSetOption" });
      Dcx.setModData(mod, { "conditionSetOption.isShow": false });
      setTimeout(function() {
        Dcx.setModData(mod, { "conditionSetOption": conditionSetOption });
      });
    },
    clickShowSelectorDlg: function(e) {
      var mod = this;
      var data = Dcx.getModData(mod);
      var mainObj = data.mainObj;
      var fieldObj = data.fieldObj;
      // var otherObj = DgnCom.getFieldOtherAttr(fieldObj);
      var selectorCtrlSetOption = {
        dgnEntId: data.entId,
        formId: data.dgnEntId,
        fieldListObj: data.fieldListObj,
        dgnFieldList: data.fieldList,
        mainObj: data.mainObj,
        formObj: data.mainObj,
        childEntityList: data.childEntityList,
        fldId: 0,
        fieldName: null,
        fieldObj: null,
        ctrlTypeId: 0,
        isShow: true,
      };
      Dcx.setModData(mod, { "selectorCtrlSetOption.isShow": false });
      setTimeout(function() {
        Dcx.setModData(mod, { "selectorCtrlSetOption": selectorCtrlSetOption });
      });
    },
    clickDesignFormLeftTree: function(e) {
      var mod = this;
      var data = Dcx.getModData(mod);
      var mainObj = data.mainObj;

      if (isNaN(mainObj.treeId))
        mainObj.treeId = -1;
      var dbTableId = -1;
      var dbTableName = null;
      var dbConnectId = 0;
      if (mainObj.sourceType == 2) {
        dbTableId = mainObj.dbTableId;
        dbTableName = mainObj.dbTableName;
        dbConnectId = mainObj.dbConnectId;
      }

      var pageJson = data.pageJson;
      var formJson = mainObj.formJson;
      var treeId = pageJson.treeId;
      var dbTableId = mainObj.dbTableId;
      var dbTableName = mainObj.dbTableName;
      if (pageJson && parseInt(pageJson.treeId, 10) > 0)
        treeId = parseInt(pageJson.treeId, 10);
      else
        treeId = mainObj.treeId;
      // var _f_ok = function(treeObj) {
      //   mainObj.treeId = treeObj.treeId;
      //   mainObj.formJson.treeId = treeObj.treeId;
      // };
      // DTgn.showTreeSet(this, treeId, entId, -1, 1, 2, _f_ok, dbTableId, dbTableName);

      var treeOption = {
        treeId: treeId,
        entId: mainObj.formId,
        moduleId: -1,
        //bindMode: 点击节点时: 1, 单选; 2, 多选; 3, 与外部交互;
        bindMode: 3,
        // relateModuleType:使用此树的情况,1:报表的相关树;2,表单的相关树;3,明细的相关树;4,页面的相关树;5,表单的控件使用树;；
        relateModuleType: 2,
        dbTableId: dbTableId,
        dbTableName: dbTableName,
        dbConnectId: dbConnectId,
        moduleFieldList: null,
        reportObj: null,
        moduleObj: data.moduleObj,
        reportId: -1,
        elemId: data.elemId,
        formId: mainObj.formId,
        fieldList: null,
        ctrlTypeId: 0,
        fldId: 0,
        isShow: true
      };
      Dcx.setModData(mod, { "treeOption.isShow": false });
      setTimeout(function() {
        Dcx.setModData(mod, { "treeOption": treeOption });
      });
    },
    clickDiyHead: function() {
      var mod = this;
      var data = Dcx.getModData(mod);
      var pageJson = data.pageJson;
      Dcx.confirm(_flp("sureDiyHead") + '', function() {
        pageJson.head.isDiy = false;
        Dcx.tips(_flp("clickHeadDgn") + "", 2.8);
      }, function() {
      });
    },
    clickDiyBottom: function() {
      var mod = this;
      var data = Dcx.getModData(mod);
      var pageJson = data.pageJson;
      Dcx.confirm(_flp("sureDiyBottom") + '', function() {
        pageJson.bottom.isDiy = false;
        Dcx.tips(_flp("clickBottomDgn") + "", 2.8);
      }, function() {
      });
    },
    addOneInnerPage: function() {
      var mod = this;
      var data = Dcx.getModData(mod);
      DPage.buildInnerPageJson(mod);
    },
    //设置内容栏 返回
    returnAndDealPageMiddleSet: function(e) {
      var mod = this;
      var data = Dcx.getModData(mod);
      // var reportObj = data.reportObj;
      // var crOption = data.reportCrossDesignerOption;
      var detailObj = Dcx.getDetailOfEvent(e, mod);
      var returnData = detailObj.e;
      // Dcx.setModData(mod, {
      //   "isShowDesigner": false,
      //   "isShowBeginDesign": false
      // });
      // if (returnData.justClose) {
      //   return;
      // }
      if (!isNaN(returnData.curIndex))
        Dcx.setModData(mod, { "curIndex": returnData.curIndex });
      // var reportObj = returnData.createdObj;

    },
    //设置顶栏 返回
    returnAndDealPageTopSet: function(e) {
      var mod = this;
      var data = Dcx.getModData(mod);
      // var reportObj = data.reportObj;
      // var crOption = data.reportCrossDesignerOption;
      var detailObj = Dcx.getDetailOfEvent(e, mod);
      var returnData = detailObj.e;
      // Dcx.setModData(mod, {
      //   "isShowDesigner": false,
      //   "isShowBeginDesign": false
      // });
      if (returnData.justClose) {
        return;
      }
      // var reportObj = returnData.createdObj;

    },
    //创建 返回
    returnAndDealDesigner: function(e) {
      var mod = this;
      var data = Dcx.getModData(mod);
      // var reportObj = data.reportObj;
      // var crOption = data.reportCrossDesignerOption;
      var detailObj = Dcx.getDetailOfEvent(e, mod);
      var returnData = detailObj.e;
      Dcx.setModData(mod, {
        "isShowDesigner": false,
        "isShowBeginDesign": false
      });
      if (returnData.justClose) {
        return;
      }
      // var e = {
      //   "createdObj": data.createdObj,
      //   "createdReturnData": data.createdReturnData,
      //   "designerOption": data.designerOption,
      //   "curDesignOption": data.curDesignOption,
      //   "doClose": (doClose ? true : false),
      //   "justClose": (justClose ? true : false),
      // };
      var reportObj = returnData.createdObj;

      if (reportObj) {
        var reportListOfForm = mod.reportListOfForm;// new Array();
        reportListOfForm.push({
          "id": reportObj.reportId,
          "text": reportObj.reportName,
          "typeId": reportObj.reportType
        });
        mod.reportId = reportObj.reportId;
        var reportOption = {
          "isLoad": true,
          "isLoaded": true,
          "isShow": true,
          "formId": data.formId,
          "entId": reportObj.reportId,
          "searchId": -1,
          "reportId": reportObj.reportId,
          "pageId": -1,
          "menuId": -1,
          "isNotHtmlMode": true,
          "areaIsField": true,
          "appForm": true,
          "isPageDgn": false,
          "webForm": true,
          "isDesigningAll": true,
          "isPhone": false,
          "entForm": true,
          "isE": true,
          "isAsk": false,
          "isModeDD": data.isModeDD,
          "isModeDD2": data.isModeDD2,
          "deviceType": 2,
          "systemTypeId": 1,
          "designerType": 5,
          "formTypeId": 15,
          "moduleTypeId": 1,
          "afterShowDesigner": null
        };
        Dcx.setModData(mod, { "reportOption": reportOption });
        setTimeout(function() {
          Dcx.setModData(mod, { "reportOption.isShow": true });
        });
      }
    },
    clickSetSqlForFormCtrl: function() {
      var mod = this;
      var fieldObj = DgnFormCom.getCurField(mod);
      DSSQL.setSqlForFormCtrl(mod, fieldObj, 1);
    },
    returnAndDealSqlSelect: function(e) {
      var mod = this;
      var data = Dcx.getModData(this);
      var detailObj = Dcx.getDetailOfEvent(e, mod);
      var returnData = detailObj.e;
      // var fieldList = returnData.fieldList;
      console.log(returnData);
      if (returnData.doClose || returnData.doClose == undefined) {
        Dcx.setModData(mod, { "sqlSelectOption.isShow": false });
      }
      if (returnData.justClose) {
        return;
      }
      var sourceObj = returnData.reportObj;
      var fieldObj = returnData.fieldObj;
      var otherObj = DgnCom.getFieldOtherAttr(fieldObj);
      var mainObj = returnData.mainObj;
      var selectSqlType = returnData.selectSqlType;
      //moduleTypeUsingSql：在reportType=7（SQL）时起效，表示使用此SQL的模块类型，用于SQL的条件设计（typeId）。1，表单；2，报表；3，查询表单；4，明细报表；
      var moduleTypeUsingSql = returnData.moduleTypeUsingSql;
      if (fieldObj && fieldObj.fldId > 0 && (moduleTypeUsingSql == 1 || moduleTypeUsingSql == 3))
        DgnCom.updateFieldSql(selectSqlType, sourceObj, fieldObj, mod);
      else if (fieldObj && fieldObj.fldId > 0 && moduleTypeUsingSql == 4)
        DgnCom.updateFieldSql(selectSqlType, sourceObj, fieldObj, mod);
      else if (fieldObj && fieldObj.fldId > 0 && moduleTypeUsingSql == 2) {
        var name = (selectSqlType == 1 ? "optionSource" : "valueSource");
        otherObj[name] = DgnCom.updateFieldSql(selectSqlType, sourceObj, fieldObj, mod);
      }
    },
    returnAndDealCreateReport: function(e) {
      var mod = this;
      var data = Dcx.getModData(this);
      var detailObj = Dcx.getDetailOfEvent(e, mod);
      var returnData = detailObj.e;
      var reportObj = returnData.reportObj;
      var fieldList = returnData.fieldList;
      console.log(returnData);
      if (returnData.doClose || returnData.doClose == undefined) {
        Dcx.setModData(mod, { "reportCreateOption.isShow": false });
      }
      if (returnData.justClose) {
        return;
      }
      // Dcx.setModData(mod, { "sltObj.reportName": reportObj.reportName });
      // Dcx.setModData(mod, { "sltObj.reportId": reportObj.reportId });
      // if (!Dcx.isNull(fieldList)) {
      //   for (var i = 0; i < fieldList.length; i++) {
      //     var o = fieldList[i];
      //     if (Dcx.isNull(o.fieldByname))
      //       o.fieldByname = o.columnByname;
      //     if (Dcx.isNull(o.ctrlByname))
      //       o.ctrlByname = (o.columnByname ? o.columnByname : o.fieldByname);
      //     if (o.fldId == undefined)
      //       o.fldId = i + 1;
      //   }
      // }
      // var curFormId = data.curFormId;
      // DSelector.reportId = reportObj.reportId;
      // DSelector.reportName = reportObj.reportName;
      // DSelector._f_getReportSourceField(reportObj.reportId, reportObj.reportName, null,
      //   reportObj.reportType, false, null, mod, mod, curFormId);
      //
      // DgnReport.okFunction = undefined;
      // DgnReport.justCreate = undefined;
    },
    afterLoadDesigner: function(e) {
      // alert(343434)
      var mod = this;
      var data = Dcx.getModData(mod);
      var pageJson = data.pageJson;
      var mainObj = data.mainObj;
      var formFieldList = data.fieldListObj;
      // var max reportToolbarSetOption
      var fieldObj = formFieldList[0];
      //designerType:2,表单(再由formTypeId决定是什么类型的表单);1,页面设计;3,搜索;4,明细;5,报表;
      var designerType = data.designerType;
      var dgnFieldList = DgnPage.getDgnFieldList(mod).fieldList;
      if (designerType == 4) {
        // strHtml.append('<optgroup label="'+_flf("standard")+'">');
        //itemObj.columnType=(itemObj.columnType?itemObj.columnType:1);
        var groupList = new Array();
        var columnType = 1;
        var list = [{ "text": DLangss._ttt("page.text"), "value": 1 },
          { "text": "数值（数字格式）", "value": 2 },
          { "text": "金额（金额格式）", "value": 3 },
          { "text": "短日期（日期格式）", "value": 4 },
          { "text": "网址链接（打开网址）", "value": 5 },
          { "text": "图片（显示文件夹中的图片）", "value": 7 },
          { "text": "文件（文件夹中的文件链接下载）", "value": 9 }];
        DLangss.dealTexts1("dform.formatList", "value", list, "text");
        groupList.push({ "groupId": 1, "groupName": _flf("standard"), "items": list });
        // for (var i = 0; i < list.length; i++) {
        //   var obj = list[i];
        //   strHtml.append('<option value="' + obj.value + '" ' + (obj.value == columnType ? "selected" : "") + ' >' + obj.text + '</option>');
        // }
        // strHtml.append('</optgroup>');
        // strHtml.append('<optgroup label="扩展">');
        var list2 = [{ "text": "编辑操作", "value": 10 },
          { "text": "删除操作", "value": 11 },
          { "text": "自定义链接（钻取）", "value": 13 },
          { "text": "QQ在线（QQ聊天）", "value": 16 },
          { "text": DLangss._ttt("common.emailSend"), "value": 17 },
          { "text": "二维码", "value": 18 },
          { "text": "打电话", "value": 19 },
          { "text": "发短信", "value": 20 },
          { "text": "星级评分", "value": 21 }];
        DLangss.dealTexts1("dform.formatExtList", "value", list2, "text");
        groupList.push({ "groupId": 2, "groupName": "扩展", "items": list2 });
        // for (var i = 0; i < list.length; i++) {
        //   var obj = list[i];
        //   strHtml.append('<option value="' + obj.value + '" ' + (obj.value == columnType ? "selected" : "") + '>' + obj.text + '</option>');
        // }
        // strHtml.append('</optgroup>');
        Dcx.setModData(mod, { "columnTypeList": groupList });
      }

      // alert(3434)
      //测试
      if (designerType == 5)
        mod.clickPropertyTab({}, 2);

      // var reportCreateOption= {
      //    beginIsSelectReportType: false,
      //      pageTypeId: 2,
      //      formTypeId: 0,
      //      fromType: 3,
      //      reportName: null,
      //      reportType: 1,
      //      targetDataId: 0,
      //      goOnNewChart: false,
      //      justCreate: true,
      //      initObj: null,
      //      curFieldObj: null,
      //      selectSqlType: null,
      //      sceneId: 0,
      //      moduleTypeUsingSql: null,
      //      bindFormObj: null,
      //      bindDbTableObj: null,
      //      bindTargetGroupObj: null,
      //      reportTemplateId: null,
      //      reportTemplateObj: null,
      //      isShow: false,
      //  };

      // var selectorCtrlSetOption = {
      //   dgnEntId: data.entId,
      //   formId: data.entId,
      //   fldId: fieldObj.fldId,
      //   fieldListObj: formFieldList,
      //   fieldName: fieldObj.fieldName,
      //   dgnFieldList: dgnFieldList,
      //   mainObj: data.mainObj,
      //   formObj: data.mainObj,
      //   childEntityList: data.childEntityList,
      //   fieldObj: fieldObj,
      //   ctrlTypeId: fieldObj.ctrlTypeId,
      //   isShow: true,
      // };
      // Dcx.setModData(mod, { "selectorCtrlSetOption": selectorCtrlSetOption });
      var childFormAddOption = {
        dgnEntId: data.entId,
        formId: data.entId,
        fieldListObj: data.fieldListObj,
        mainObj: data.mainObj,
        formObj: data.mainObj,
        pageJson: data.pageJson,
        childEntityList: data.childEntityList,
        isShow: true,
      };
      // Dcx.setModData(mod, { "childFormAddOption": childFormAddOption });
// alert(33)
      //actType：1，新增数据时；2，修改数据时；3，删除数据时；4，查询数据时；5，工作流节点SQL事务；6，定时器SQL事务；7，按扭点击执行SQL事务
      //designerType:1,页面设计;2,表单(再由formTypeId决定是什么类型的表单);3,搜索;4,明细;5,报表;
      var slTransSetOption = {
        dgnEntId: data.entId,
        mainObj: data.mainObj,
        childEntityList: data.childEntityList,
        actType: 2,
        designerType: data.designerType,
        moduleTypeUsingSql: null,
        mainSqlObj: null,
        entId: data.entId,
        fieldList: data.fieldListObj,
        targetDesignerField: DgnCom.getEntityFieldAndHtml(mod, data.entId).fieldList,
        moduleObj: data.moduleObj,
        elemId: null,
        elemObj: null,
        isShow: true,
      };
      // Dcx.setModData(mod, { "slTransSetOption": slTransSetOption });

      var formPropertySetOption = {
        dgnEntId: data.entId,
        //主表单的formId
        formId: data.entId,
        mainObj: data.mainObj,
        childEntityList: data.childEntityList,
        //主表的字段
        fieldListObj: data.fieldListObj,
        fieldList: DgnCom.getEntityFieldAndHtml(mod, data.entId).fieldList,
        pageJson: data.pageJson,
        isShow: true
      };
      // Dcx.setModData(mod, { "formPropertySetOption": formPropertySetOption });

      // alert(Dcx.jsonTo(data.mainObj))
      var moduleTypeUsingSql = 1; // 1，表单；2，报表；3，查询表单；4，明细报表；
      if (designerType == 5)
        moduleTypeUsingSql = 2;
      else if (designerType == 3)
        moduleTypeUsingSql = 3;
      else if (designerType == 4)
        moduleTypeUsingSql = 4;
      //selectSqlType：1，多选项；2，单值；3,多行多字段
      //moduleTypeUsingSql：在reportType=7（SQL）时起效，表示使用此SQL的模块类型，用于SQL的条件设计（typeId）。1，表单；2，报表；3，查询表单；4，明细报表；
      // DSSQL.setSqlForFormCtrl   (mod,fieldObj,1,moduleTypeUsingSql);

      return;
      var fieldObj = formFieldList[6];// data.fieldObj;
      var mainObj = data.mainObj;
      var otherObj = DgnCom.getFieldOtherAttr(fieldObj);
      var treeId = fieldObj.treeId ? fieldObj.treeId : -1;
      var bindMode = (otherObj.isSingleMode ? 1 : 2);
      var fieldList = formFieldList;
      var treeOption = {
        treeId: -1,
        entId: mainObj.formId,
        moduleId: -1,
        //bindMode: 点击节点时: 1, 单选; 2, 多选; 3, 与外部交互;
        bindMode: 3,
        // relateModuleType:使用此树的情况,1:报表的相关树;2,表单的相关树;3,明细的相关树;4,页面的相关树;5,表单的控件使用树;；
        relateModuleType: 2,
        dbTableId: mainObj.dbTableId,
        dbTableName: mainObj.dbTableName,
        dbConnectId: mainObj.dbConnectId,
        moduleFieldList: null,
        reportObj: null,
        moduleObj: data.moduleObj,
        reportId: -1,
        elemId: data.elemId,
        formId: mainObj.formId,
        fieldList: null,
        ctrlTypeId: 0,
        fldId: 0,
        isShow: true
      };
      return;
      var sqlDatasourceOption = {
        "mainObj": data.mainObj,
        "curEntId": data.entId,
        "entId": data.entId,
        //sqlType：1，多结果select语句；2，单结果select语句；3，insert语句；4，update语句；5，delete语句；6，存储过程；
        "sqlType": 1,
        //targetDataId：例如要在普通列表那里创建分析报表或统计图表，这个targetDataId就是普通列表的reportId。
        "targetDataId": data.entId,
        //initObj：初始化的数据对象（在sqlType=7时使用，其他情况渐不使用）
        "initObj": null,
        //sqlType：1，多结果select语句；2，单结果select语句；3，insert语句；4，update语句；5，delete语句；6，存储过程；
        //sceneId：应用场景ID。链接参数时：1，报表的工具栏(有:搜索字段的值)；2，报表的行内(有:报表字段的值)；3，表单(有:表单控件的值)；4，明细报表(有:报表字段的值)；2~4都有：字段的值
//sceneId：应用场景ID。6，报表或明细报表的读取（select）数据源时（有：搜索字段的值）；7，表单的增改删事务(insert,update,delete)时（有：表单控件的值）；12，报表的删除SQL事务(delete)时；
//sceneId：应用场景ID。0,页面中的链接；1，报表的工具栏(有:搜索字段的值)；2，报表的行内(有:报表字段的值)；3，表单(有:表单控件的值)；4，明细报表(有:报表字段的值)；2~4都有：字段的值
//sceneId：应用场景ID。6，报表或明细报表的读取（select）数据源时（有：搜索字段的值）；7，表单的增改删事务(insert,update,delete，或控件的值读取)时（有：表单控件的值）；
//sceneId：8，明细子报表或表单子表单的工具栏（有：字段的值）；9，明细子报表或表单子表单的行内（有：字段的值）；10，查询表单内（有：字段的值）；11，报表或表单的字段的值读取（select语句，返回单值或多记录数）。
        "sceneId": 3,
        "isReport": false,
        "reportType": 7,
        //moduleTypeUsingSql：在reportType=7（SQL）时起效，表示使用此SQL的模块类型，用于SQL的条件设计（typeId）。1，表单；2，报表；3，查询表单；4，明细报表；
        "moduleTypeUsingSql": moduleTypeUsingSql,
        "targetDgnObj": mod,
        "designerType": 2,
        "fieldList1": data.fieldListObj,
        "fieldListObj": data.fieldListObj,
        "fieldList2": null,
        "targetDesignerField": DgnCom.getEntityFieldAndHtml(mod, data.entId).fieldList,
        "elemId": 0,
        "formId": data.entId,
        "fieldList": data.fieldListObj,
        "totalFields": null,
        "ctrlTypeId": fieldObj.ctrlTypeId,
        "fldId": fieldObj.fldId,
        "isShow": true,
      };
      // Dcx.setModData(mod, { "sqlDatasourceOption": sqlDatasourceOption });
    },
    //返回、处理批量添加表单字段
    returnAndDealBatchAddFormField: function(e) {
      var mod = this;
      var data = Dcx.getModData(mod);
      var detailObj = Dcx.getDetailOfEvent(e, mod);
      var returnData = detailObj.e;
      console.log(returnData);
      if (returnData.justClose) {
        Dcx.setModData(mod, { "formFieldBatchAddOption.isShow": false });
        return;
      }
      Dcx.setModData(mod, { "formFieldBatchAddOption.isShow": false });
      if (returnData.dbTableFieldList && returnData.dbFieldAddx)
        mod.dbTableFieldList = returnData.dbTableFieldList;
      // var curMod = mod;
      var mainObj = data.mainObj;
      var pageJson = data.pageJson;
      var entId = data.entId;
      var designerType = data.designerType;
      var selectedList = returnData.selectedList;
      var fieldListObj = data.fieldListObj;
      var fieldList = data.fieldListObj;
      if (!selectedList || selectedList.length < 1)
        return;
      var targetAreaGroup = DPage.getGroupAreaCanInsertField(mod);
      var targetAreas = targetAreaGroup.areas;
      var areaObj = mod.getOneNewArea();
      mod.tempAddingArea = areaObj;
      var maxAreaId = areaObj.id;
      var groupId = targetAreaGroup.groupId;
      var pagingId = targetAreaGroup.pagingId;
      for (var i = 0; i < selectedList.length; i++) {
        var addedFieldObj = selectedList[i];
        targetAreas.push(areaObj);
        DgnArea.addOneFormField(mod, addedFieldObj, areaObj, groupId, pagingId);

        if (i < selectedList.length - 1) {
          maxAreaId = maxAreaId + 1;
          areaObj = mod.getOneNewArea(maxAreaId);
          mod.tempAddingArea = areaObj;
        }
      }
      //表单
      if ((designerType == 2 && mainObj.formTypeId == 2)) {
        var obj = DgnFormFieldPpt.createFormFieldForSelector(mod, data.dbTableFieldList,
          null, mainObj.dbTableName, null, mainObj.dbTableId,
          0, '', false, false,
          true, mod.fieldListObj);//代码位置:FormBuilder.js
        var listx = obj.fieldGroupList[0].items;
        Dcx.setModData(mod, { "canAddedFieldList": listx });
      }
      // }
    },
    //返回、处理批量添加数据表字段
    returnAndDealBatchAddDbField: function(e) {
      var mod = this;
      var data = Dcx.getModData(mod);
      var detailObj = Dcx.getDetailOfEvent(e, mod);
      var returnData = detailObj.e;
      console.log(returnData);
      if (returnData.justClose) {
        Dcx.setModData(mod, { "dbFieldBatchAddOption.isShow": false });
        return;
      }
      Dcx.setModData(mod, { "dbFieldBatchAddOption.isShow": false });
      if (returnData.dbTableFieldList && returnData.dbFieldAddx)
        mod.dbTableFieldList = returnData.dbTableFieldList;
      // var curMod = mod;
      var mainObj = data.mainObj;
      var pageJson = data.pageJson;
      var entId = data.entId;
      var designerType = data.designerType;
      var selectedList = returnData.selectedList;
      var fieldListObj = data.fieldListObj;
      var fieldList = data.fieldListObj;
      if (!selectedList || selectedList.length < 1)
        return;
      var targetAreaGroup = DPage.getGroupAreaCanInsertField(mod);
      var targetAreas = targetAreaGroup.areas;
      var areaObj = mod.getOneNewArea();
      mod.tempAddingArea = areaObj;
      var maxAreaId = areaObj.id;
      var groupId = targetAreaGroup.groupId;
      var pagingId = targetAreaGroup.pagingId;
      for (var i = 0; i < selectedList.length; i++) {
        var addedFieldObj = selectedList[i];
        targetAreas.push(areaObj);
        DgnArea.addOneFormField(mod, addedFieldObj, areaObj, groupId, pagingId);
        if (i < selectedList.length - 1) {
          maxAreaId = maxAreaId + 1;
          areaObj = mod.getOneNewArea(maxAreaId);
          mod.tempAddingArea = areaObj;
        }
      }
      //表单
      if ((designerType == 2 && mainObj.formTypeId == 2)) {
        var obj = DgnFormFieldPpt.createFormFieldForSelector(mod, data.dbTableFieldList,
          null, mainObj.dbTableName, null, mainObj.dbTableId,
          0, '', false, false,
          true, mod.fieldListObj);//代码位置:FormBuilder.js
        var listx = obj.fieldGroupList[0].items;
        Dcx.setModData(mod, { "canAddedFieldList": listx });
      }
      // }
    },
     //返回、处理 添加页面的模块（列表、表单、图表、分析报表等）
    returnAndDealAddModule: function(e) {
      var mod = this;
      var data = Dcx.getModData(mod);
      var detailObj = Dcx.getDetailOfEvent(e, mod);
      var returnData = detailObj.e;
      // var dgnObj = curMod;
      var mainObj = data.mainObj;
      var pageJson = data.pageJson;
      var entId = data.entId;
      var designerType = data.designerType;
      var tempMoveEvt = data.tempMoveEvt;
      var draggedContext = tempMoveEvt.draggedContext;
      var tmpDs = tempMoveEvt.to.dataset;
      var groupId = Dcx.toInt(tmpDs.groupId);
      var areaObj = returnData.areaObj;
      var elemObj = returnData.elemObj;
      if (returnData.justClose) {
        Dcx.setModData(mod, { "moduleAddOption.isShow": false });
        DPage.deleteOneArea(mod, groupId, returnData.areaObj.id);
        return;
      }
      Dcx.setModData(mod, { "moduleAddOption.isShow": false });
    },
    //返回、处理 添加子报表
    returnAndDealAddChildReport: function(e) {
      var mod = this;
      var data = Dcx.getModData(mod);
      var detailObj = Dcx.getDetailOfEvent(e, mod);
      var returnData = detailObj.e;
      var mainObj = data.mainObj;
      var pageJson = data.pageJson;
      var entId = data.entId;
      var designerType = data.designerType;
      var tempMoveEvt = data.tempMoveEvt;
      var draggedContext = tempMoveEvt.draggedContext;
      var tmpDs = tempMoveEvt.to.dataset;
      var groupId = Dcx.toInt(tmpDs.groupId);
      var areaObj = returnData.areaObj;
      // alert(returnData.justClose)
      if (returnData.justClose) {
        Dcx.setModData(mod, { "childReportAddOption.isShow": false });
        DPage.deleteOneArea(mod, groupId, areaObj.id);
        return;
      }
      Dcx.setModData(mod, { "childReportAddOption.isShow": false });
      var childReportObj = returnData.selectedReportObj;
      var newChildObj = childReportObj;
      var curChildReportObj = returnData.curChildReportObj;
      var relatedFields = returnData.relatedFields;
      curChildReportObj.reportMsg.cellList0 = curChildReportObj.reportMsg.cellList;
      var selectedCellList = curChildReportObj.reportMsg.cellList;
      var dgnEntId = data.entId;
      var mainObj = curChildReportObj;
      curChildReportObj.reportMsg.cellList = curChildReportObj.reportMsg.cellList0;
      var reportObj = Dcx.cloneJson(mainObj.reportMsg);
      reportObj = DgnCom.convertReport2EntityObj(reportObj, false, dgnEntId);
      if (reportObj.entityObj == null || reportObj.entityObj == undefined)
        reportObj.entityObj = DgnCom.createEntityObjForReport(reportObj, false, dgnEntId);
      reportObj.dbTableId = reportObj.sourceId;
      reportObj.dbTableId2 = reportObj.sourceId2;
      reportObj.dbTableFieldList = mainObj.dbTableFieldList;
      reportObj.dbTableFieldList2 = mainObj.dbTableFieldList2;
      reportObj.formFieldList = mainObj.formFieldList;
      reportObj.formFieldList2 = mainObj.formFieldList2;
      reportObj.formMsg = mainObj.formMsg;
      reportObj.formMsg2 = mainObj.formMsg2;
      if (Dcx.isNull(reportObj.toolbarButtons) || reportObj.toolbarButtons.length < 1)
        reportObj.toolbarButtons = ["childReportAddRows", "childReportDeleteRows"];
      var childReportObj2 = {};
      childReportObj2.relatedFields = relatedFields;
      childReportObj2.curFieldList = undefined; //alert(4);
      childReportObj2.reportType = reportObj.reportType;
      childReportObj2.sourceName = reportObj.sourceName;
      childReportObj2.sourceId = reportObj.sourceId;
      childReportObj2.dbConnectId = reportObj.dbConnectId;
      childReportObj2.sourceType = reportObj.sourceType;
      childReportObj2.formTypeId = reportObj.formTypeId;
      childReportObj2.sourceName2 = reportObj.sourceName2;
      childReportObj2.sourceId2 = reportObj.sourceId2;
      childReportObj2.dbConnectId2 = reportObj.dbConnectId2;
      childReportObj2.reportObj = reportObj;
      childReportObj2.entityObj = reportObj.entityObj;
      childReportObj2.reportId = reportObj.reportId;
      childReportObj2.entId = reportObj.reportId;
      childReportObj2.reportName = reportObj.reportName;
      childReportObj2.extentAttr = Dcx.toJson(reportObj.extentAttr, {});
      childReportObj2.extentAttr.pageSize = reportObj.pageSize;
      childReportObj2.toolbar = Dcx.toJson(reportObj.toolbar);
      childReportObj2.rowDeal = Dcx.toJson(reportObj.rowDeal);
      childReportObj2.operateColumn = Dcx.toJson(reportObj.operateColumn);
      DgnToolbar.dealToolbar(childReportObj2, 4, true);//子报表的工具栏按扭
      DgnToolbar.dealToolbar(childReportObj2, 2, true);//报表或子报表的行内按扭
      var cellList = curChildReportObj.reportMsg.cellList0;// Dcx.toJson(reportObj.cellList,new Array());
      var cellList2 = new Array();//选择的字段
      for (var i = 0; i < selectedCellList.length; i++) {
        var id = selectedCellList[i].fldId;
        for (var k = 0; k < cellList.length; k++) {
          if (cellList[k].id == id) {
            cellList2.push(cellList[k]);
            break;
          }
        }
      }
      childReportObj2.cellList = cellList2;
      var childEntityList = data.childEntityList;
      if (Dcx.isNull(childEntityList)) {
        data.childEntityList = new Array();
        childEntityList = data.childEntityList;
      }
      childReportObj2 = DgnCom.convertReport2EntityObj(childReportObj2, false);
      childEntityList.push(childReportObj2);
      //alert(7);
      reportObj.cellList = childReportObj2.cellList;
      areaObj.isChildReport = true;
      areaObj.reportId = reportObj.reportId;
      areaObj.reportName = reportObj.reportName;
      areaObj.reportType = reportObj.reportType;
      areaObj.reportObj = reportObj;
      areaObj.childReportObj = childReportObj2;
      areaObj._childIndex = childEntityList.length - 1;
      areaObj.childObj = reportObj;

      // DgnChildForm.addChildForm (mod,e);
    },
    //返回、处理 添加子表单
    returnAndDealAddChildForm: function(e) {
      var mod = this;
      DgnChildForm.addChildForm(mod, e);
    },
    // 开始拖拽的时候
    onStardddt: function(/**Event*/evt) {
      var mod = this;
      var data = Dcx.getModData(mod);
      console.log('开始拖动：');
      console.log(evt);
      // mod.maxAreaId++;
      var domElem = evt.item;//clone;
      Dcx.setModData(mod, { "tempStartEvt": evt });

      // $(domElem).html("FFFFFFFFFFFFFFFFFFFFF");
      // alert( ) ;
      // alert(3343434);
      // evt.oldIndex;  // element index within parent
    },
    moveCtrlxx(evt, originalEvent) {
      var mod = this;
      // tempRelated=evt;
      Dcx.setModData(mod, { "tempMoveEvt": evt });
      console.log('移动：');
      console.log(evt);
      var domElem = evt.srcElement;
    },
    cloneComponent(origin) {
      var mod = this;
      var data = Dcx.getModData(mod);
      var pageJson = data.pageJson;
      var mainObj = data.mainObj;
      var formFieldList = data.fieldListObj;
      console.log('克隆：')
      console.log(origin);
      var newAreaObj = mod.getOneNewArea();

      Dcx.setModData(mod, { "tempAddingObj": origin });
      Dcx.setModData(mod, { "tempAddingArea": newAreaObj });
      return newAreaObj;

    },
    onEnd(evt) {
      if (evt.from !== evt.to) {
        // this.activeData = tempActiveData
        // this.activeId = this.idGlobal
        var mod = this;
        var data = Dcx.getModData(mod);
        var pageJson = data.pageJson;
        var mainObj = data.mainObj;
        var tempMoveEvt = data.tempMoveEvt;
        var formFieldList = data.fieldListObj;
        console.log('结束：')
        console.log(evt);
        if (tempMoveEvt) {
          DgnArea.addNewAreaAndCtrl(mod, {}, tempMoveEvt.draggedContext.futureIndex,1);//, tempRelated.draggedContext.element, null, tempRelated

        }
      }
    },
    addComponent(item) {
      // const clone = this.cloneComponent(item)
      // this.drawingList.push(clone)
      // this.activeFormItem(clone)
    },
    // clone一个元素的时候触发
    onClone: function(/**Event*/evt) {
      var origEl = evt.item;
      var cloneEl = evt.clone;
    },
    activeFormItem(element) {
      this.activeData = element;
      this.activeId = element.formId;
    },
    //选项卡（添加）
    addOneTabForTabElem: function(e) {
      var mod = this;
      var data = Dcx.getModData(mod);
    },
    //选项卡（删除）
    deleteOneTabForTabElem: function(e) {
      var mod = this;
      var data = Dcx.getModData(mod);
    },
    getOneNewArea(areaId0) {
      var mod = this;
      var areaId = DgnCom.getMaxAreaId(mod);
      if (areaId < areaId0)
        areaId = areaId0;
      var newAreaObj = {
        "id": areaId,
        "ara__id": areaId,
        "isCur__editing": false,
        "style": null,
        "cssClass": null,
        "isChildForm": false,
        "isChildReport": false,
        "formId": -1,
        "formName": null,
        "formTypeId": -1,
        "reportId": -1,
        "reportName": null,
        "childObj": null,
        "_childIndex": -1,
        "elems": null,
        "ctrls": null
      };
      return newAreaObj;
    },
    clickCreateGroup: function(e) {
      var mod = this;
      GroupMng.clickToAddGroup(this);
    },
    returnAndDealMenuCreate: function(e) {
      GroupMng.afterAddGroup(this, e);
    },
    //创建或编辑树控件后
    returnAndDealTreeId: function(e) {
      var mod = this;
      var data = Dcx.getModData(mod);
      var mainObj = data.mainObj;
      var pageJson = data.pageJson;
      var formObj = data.formObj;
      var detailObj = Dcx.getDetailOfEvent(e, mod);
      // console.log(e);
      var returnData = (detailObj.e ? detailObj.e : detailObj);
      var treeObj = returnData.treeObj;
      var treeId = returnData.treeId;
      // debugger
      Dcx.setModData(mod, { "treeOption.isShow": false });
      // var returnFieldObj = detailObj.fieldObj;
      if (returnData.justClose) {
        return;
      }

      if (!treeObj)
        return;
      if (returnData.bindMode == 3 && !returnData.fieldObj && returnData.fldId < 1) {
        mainObj.treeId = treeId;
        pageJson.treeId = treeId;
        if (formObj)
          formObj.treeId = treeId;
      }
    },
    //控件的JS脚本设置
    clickSetCtrlJs2: function(e) {
      var mod = this;
      var data = Dcx.getModData(mod);
      DgnFormFieldPpt.showCtrlJsSet(mod);
    },
    //改变 控件类型
    changeFieldPptValue: function(e) {
      var mod = this;
      var data = Dcx.getModData(mod);
      // debugger
      // alert('ddd')
      var ds = Dcx.getDataset(e);
    },
    //改变 控件类型
    changeCtrlTypeId: function(e) {
      var mod = this;
      var data = Dcx.getModData(mod);
      // debugger
      // alert('ddd')
      // var ds = Dcx.getDataset(e);
      DgnFormFieldPpt.changeCtrlType(mod);
    },
    //改变 控件绑定的查询字段（用于查询设计器）
    changeSearchCtrlBindField: function(e) {
      var mod = this;
      var data = Dcx.getModData(mod);
      DgnFormFieldPpt.changeCompareField(mod, e);
    },
    //改变 比较方式（用于查询设计器）
    changeCompareType: function(e) {
      var mod = this;
    },
    //点击 发布
    clickPublishToRun: function(e) {
      var mod = this;
      var data = Dcx.getModData(mod);
      // debugger
      // alert('ddd')
      var ds = Dcx.getDataset(e);
      Dcx.publishToRun(mod);
    },
    //点击更多多菜单
    clickOnOperateMenu: function(e, index) {
      var mod = this;
      var data = Dcx.getModData(mod);
      // debugger
      // alert('ddd')
      var ds = Dcx.getDataset(e);
      var formTypeId = data.formTypeId;
      var mainObj = data.mainObj;
      var entId = data.entId;
      //designerType:2,表单(再由formTypeId决定是什么类型的表单);1,页面设计;3,搜索;4,明细;5,报表;
      var designerType = data.designerType;
      var list = data.moreOperateMenuList;
      var obj = list[index];
      // var clickedObj = this;
      var that = this;
      var clickedObj = this;
      var isReport = (designerType == 5 ? true : false);
      if (!data.isDesigner)
        Dcx.setModData(mod, { "showOperateMenu": false });
      var tabIndex = Dcx.toInt(obj.id);// parseInt($(that).attr("tabindex"), 10);
      var id = tabIndex;
      //表单
      if (designerType == 2) {
        switch (tabIndex) {
          //list = [ { "id": 22, "text": "创建 报表" }, { "id": 23, "text": "创建 分析报表" }, { "id": 24, "text": "设计 工作流" }, { "id": 25, "text": "相关 分析报表" },
          //{ "id": 26, "text": "相关 分析报表", "spt": true  },  { "id": 10, "text": "批量 加入字段" },
          case 25://相关 报表 "linkText": "列表管理",
            linkTo = {
              "typeId": 1,
              "dataId": "6000",
              "typeId2": 3,
              "openMode": 5,
              "width": 1150,
              "act": 1,
              "position": 1,
              "parameters": [
                {
                  "parmName": "sourceId",
                  "dataTypeId": 1,
                  "value": mainObj.formId,
                  "valueType": 1,
                  "cuHaiType": 1
                },
                {
                  "parmName": "sourceType",
                  "dataTypeId": 1,
                  "value": "1",
                  "valueType": 1,
                  "cuHaiType": 2
                }]
            };
            if (formTypeId == 2 || formTypeId == 7) {
              linkTo.parameters.push({
                "parmName": "sourceId",
                "dataTypeId": 1,
                "value": mainObj.dbTableId,
                "valueType": 1,
                "conditionRelation": "or",
                "cuHaiType": 1
              });
              linkTo.parameters.push({
                "parmName": "sourceType",
                "dataTypeId": 1,
                "value": "2",
                "valueType": 1,
                "cuHaiType": 2
              });
              linkTo.parameters.push({
                "parmName": "formId",
                "dataTypeId": 1,
                "value": mainObj.formId,
                "valueType": 1,
                "conditionRelation": "or"
              });
            }
            // DcxPage.openPage(linkTo, clickedObj);
            var reportRunOption = {
              "width": 1150,
              reportId: 6000,
              reportName: "相关报表",
              elemObj: linkTo,
              "comId": null,
              "isLoad": true,
              isShow: false
            };
            Dcx.setModData(mod, { "reportRunOption": reportRunOption });
            setTimeout(function() {
              Dcx.setModData(mod, { "reportRunOption.isShow": true });
            });
            break;
          case 26://相关 分析报表 "linkText": "交叉报表管理",
            linkTo = {
              "typeId": 1,
              "dataId": "6003",
              "typeId2": 3,
              "openMode": 5,
              "width": 1150,
              "act": 1,
              "position": 1,
              "parameters": [{
                "parmName": "sourceId",
                "dataTypeId": 1,
                "value": mainObj.formId,
                "valueType": 1,
                "cuHaiType": 1
              }
                , { "parmName": "sourceType", "dataTypeId": 1, "value": "1", "valueType": 1, "cuHaiType": 2 }]
            };
            if (formTypeId == 2 || formTypeId == 7) {
              linkTo.parameters.push({
                "parmName": "sourceId",
                "dataTypeId": 1,
                "value": mainObj.dbTableId,
                "valueType": 1,
                "conditionRelation": "or",
                "cuHaiType": 1
              });
              linkTo.parameters.push({
                "parmName": "sourceType",
                "dataTypeId": 1,
                "value": "2",
                "valueType": 1,
                "cuHaiType": 2
              });
            }
            var reportRunOption = {
              "width": 1150,
              reportId: 6003,
              reportName: "相关分析报表",
              elemObj: linkTo,
              "comId": null,
              "isLoad": true,
              isShow: false
            };
            Dcx.setModData(mod, { "reportRunOption": reportRunOption });
            setTimeout(function() {
              Dcx.setModData(mod, { "reportRunOption.isShow": true });
            });

            break;
          case 22://创建 列表
            var designBeginOptionReport = {
              "dialogWidth": "1200px",
              "typeId": 3,
              "dataId": 0,
              "tmptmp": null,
              "dataName": null,
              "keyValue": null,
              "isShow": false,
              beginIsSelectReportType: true,
              pageTypeId: 3,
              formTypeId: 0,
              fromType: 0,
              reportName: null,
              reportType: null,
              targetDataId: null,
              goOnNewChart: null,
              justCreate: null,
              initObj: null,
              curFieldObj: null,
              selectSqlType: null,
              sceneId: 6,
              moduleTypeUsingSql: null,
              bindFormObj: data.mainObj,
              bindDbTableObj: null,
              bindTargetGroupObj: null,
              reportTemplateId: null,
              reportTemplateObj: null,

            };
            Dcx.setModData(mod, { "designBeginOptionReport": designBeginOptionReport });
            setTimeout(function() {
              Dcx.setModData(mod, { "designBeginOptionReport.isShow": true });

            });
            break;
          case 23://创建 分析报表
            // alert(34334)
            var designBeginOption2 = {
              "dialogWidth": "1200px",
              "typeId": 6,
              "dataId": 0,
              "tmptmp": null,
              "dataName": null,
              "keyValue": null,
              "isShow": false,
              reportObj: null,
              goOnNewChart: false,
              moduleObj: null,
              reportId: null,
              crossName: null,
              crossId: null,
              crossObj: null,
              targetReportId: null,
              targetReportName: null,
              bindFormObj: data.mainObj,
              bindReportObj: null,
              bindDbTableObj: null,
              bindTargetGroupObj: null,
              elemObj: null,
              elemId: null,

            };
            Dcx.setModData(mod, { "designBeginOption2": designBeginOption2 });
            setTimeout(function() {
              Dcx.setModData(mod, { "designBeginOption2.isShow": true });

            });
            // DMain.showCreateNewModule(clickedObj, mainObj.systemId, 6, mainObj, null, null, null);
            break;
          case 24://设计 工作流
            var linkTo = {};
            var flowId = (mainObj.flowId ? mainObj.flowId : -1);
            DMng.saveWorkFlow(clickedObj, linkTo, (flowId > 0 ? false : true), flowId, mainObj.formName, mainObj);
            break;
          case 1://发布页面
            Dcx.confirm(_flp("surePublish") + "", function() {
              Dcx.tips(_flp("clickPublish") + '', 2);
            }, function() {
              Dcx.tips(_flp("cancelPublish") + '', 2);
            });
            break;
          case 2://删除页面
            DgnInner.deleteInnerPage();
            break;
          case 3://新建页面
            DgnPage.goToBuildNewPage();
            break;
          case 4://设置页面
            Dcx.getCurDgner().$("#tabs").children("li:eq(1)").click();
            ;
            break;
          case 5://设置顶栏
            Dcx.setModData(mod, { "pageTopOption.isShow": false });
            setTimeout(function() {
              Dcx.setModData(mod, { "pageTopOption.isShow": true });
            });
            // DgnInner.createToolbarBtns(mod);
            break;
          case 6://设置内容页
            Dcx.setModData(mod, { "pageMiddleOption.isShow": false });
            setTimeout(function() {
              Dcx.setModData(mod, { "pageMiddleOption.isShow": true });
            });
            // DgnInner.createPageContentMnger();
            break;
          case 7://设置底栏
            Dcx.setModData(mod, { "pageBottomOption.isShow": false });
            setTimeout(function() {
              Dcx.setModData(mod, { "pageBottomOption.isShow": true });
            });
            // DgnInner.createPageBottomMnger();
            break;
          case 8://发布APP
            Dcx.confirm(_flp("sureDelete") + "？", function() {
              Dcx.tips(_flp("clickDelete") + '', 2);
            }, function() {
              Dcx.tips(DLangss._ttt("common.cancelDelete"), 2);
            });
            break;
          case 9://互动面板
            DgnPage.showPanelForDgner(mod);
            break;
          case 10://批量 加入字段
            Dcx.setModData(mod, { "formFieldBatchAddOption.isShow": false });
            setTimeout(function() {
              Dcx.setModData(mod, { "formFieldBatchAddOption.isShow": true });
            });
            // DgnPage.addFormFields(mod);
            break;
          case 11://创建 新的字段
            Dcx.setModData(mod, { "dbFieldBatchAddOption.isShow": false });
            setTimeout(function() {
              Dcx.setModData(mod, { "dbFieldBatchAddOption.isShow": true });

            });
            // DgnPage.addDbTaleFields(mod);
            break;
          case 12://功能权限
            //typeId:1；页面；2，表单；3，报表；4，查询；5，明细；6，分析报表；7，统计图表；8，问卷；9，投票；10，考试；11，普通表单。
            var privilegeFunctionOption = {
              fieldList: null,
              typeId: 2,
              mainObj0: data.mainObj,
              dataId: mainObj.formId,
              elemObj: data.elemObj,
              isShow: true
            };
            Dcx.setModData(mod, {
              "privilegeFunctionOption": privilegeFunctionOption,
              "curMdKey": "privilegeFunctionOption"
            });
            // PrivilegeMng.showRolePrivSet(2, entId);//代码位置：/designer/report/set_base.js
            break;
          case 13://字段权限
            //typeId:1；页面；2，表单；3，报表；4，查询；5，明细；6，分析报表；7，统计图表；8，问卷；9，投票；10，考试；11，普通表单。
            var privilegeFieldOption = {
              fieldList: data.fieldListObj,
              typeId: 2,
              mainObj0: data.mainObj,
              dataId: mainObj.formId,
              elemObj: data.elemObj,
              isShow: true
            };
            Dcx.setModData(mod, { "privilegeFieldOption": privilegeFieldOption, "curMdKey": "privilegeFieldOption" });
            // PrivilegeMng.showRoleFieldPrivSet(2, entId, data.fieldListObj);//代码位置：/designer/report/set_base.js
            break;
          case 14://设计 新增数据时的SQL事务
            mod.clickSetSqls(1);
            // TSQL2.createSqlSet(mod, 1);
            break;
          case 15://设计 编辑数据时的SQL事务
            mod.clickSetSqls(2);
            // TSQL2.createSqlSet(mod, 2);
            break;
          case 16://设计 删除数据时的SQL事务
            mod.clickSetSqls(3);
            // TSQL2.createSqlSet(mod, 3);
            break;
          case 17://编写 扩展接口的js脚本
            mod.clickDiyExtendJs('extendJs');
            // DgnCom.setDiyJsCss('extendJs', true);
            break;
          case 18://编写 JS脚本
            mod.clickDiyExtendJs('diyJs');
            // DgnCom.setDiyJsCss('diyJs', mod);
            break;
          case 19://设置 表单的初始化
            mod.clickShowSelectorDlg();
            // DSelector.showSelectorDlg(mod, entId);
            break;
          case 20://设置 表单的过滤条件
            mod.clickSetCondtion();
            // DgnFormMain.showFormCdtnSetDlg(mod);
            break;
          case 21://设计 表单左边的树
            mod.clickDesignFormLeftTree();
            break;
        }
      }
      //页面与报表
      else if (designerType == 1 || designerType == 5) {
        mod.showOneReportOpereate(id);
        return;
        for (var i = 0; i < list.length; i++) {
          var obj = list[i];
          if (obj.id == id) {
            if (obj.fn) {
              //alert(33);
              //设置工具栏
              if (id == 16) {
                DgnToolbar.createToolbarSet(that, 1, 1);
              } else if (id == 17) {//设置操作列
                DgnToolbar.createToolbarSet(that, 1, 2, true);
              } else
                obj.fn(that);
              return;
            }
          }
        }
        var _dfdf_f = function(fieldname) {
          var reportObj = DgnCom.getCurReportObj(mod);//在report_create.js
          reportObj.extendAttr = (Dcx.isNull(reportObj.extendAttr) ? {} : Dcx.toJson(reportObj.extendAttr));
          var extAttr = reportObj.extendAttr;

          var jsCss = (extAttr[fieldname] ? Dcx.jsonTo(extAttr[fieldname]) : '');
          var okFunction = function(jsCss) {
            extAttr[fieldname] = (Dcx.isNull(jsCss) ? undefined : jsCss);

            var _f_ok4 = function() {
            };
            var obj = extAttr;
            //保存 到数据库
            DgnReportBase.saveBaseSet(reportObj.reportId, reportObj.reportName, reportObj.remark, reportObj.pageSize, Dcx.jsonTo(obj), true, _f_ok4);
            reportObj.isDefaultExtendAttr = false;
          };
          DgnCom.showJsEditor(jsCss, okFunction);

        };
        switch (tabIndex) {
          case 91://编写 扩展接口的js脚本
            _dfdf_f('extendJs');
            break;
          case 92://编写 JS脚本
            _dfdf_f('diyJs');
            break;
          case 81://发布页面
            Dcx.confirm("确定要发布此页面吗？", function() {
              Dcx.tips('您点击了发布', 2);
            }, function() {
              Dcx.tips('你取消了发布', 2);
            });
            break;
          case 82://删除页面
            //DgnPage.deleteInnerPage();
            break;
          case 83://新建页面
            DgnIcon.goToBuildNewPage();
            break;
          case 84://设置页面
            Dcx.getCurDgner().$("#tabs").children("li:eq(1)").click();
            break;
          case 85://设置顶栏
            DgnInner.createToolbarBtns();
            break;
          case 86://设置内容页
            DgnInner.createPageContentMnger();
            break;
          case 87://设置底栏
            DgnInner.createPageBottomMnger();
            break;
          case 88://发布APP
            break;
          case 89://互动面板
            DgnPage.showPanelForDgner(this);

            break;
        }

      }
      //查询设计器
      else if (designerType == 3) {
        switch (tabIndex) {
          case 9://互动面板
            DgnPage.showPanelForDgner(this);
          //case 1://发布页面
          //    Dcx.confirm("确定要发布此页面吗？", function () {
          //        Dcx.tips('您点击了发布', 2);
          //    }, function () {
          //        Dcx.tips('你取消了发布', 2);
          //    });
          //    break;
          //case 2://删除页面
          //    DgnPage.deleteInnerPage();
          //    break;
          //case 3://新建页面
          //    DgnPage.goToBuildNewPage();
          //    break;
          //case 4://设置页面
          //    Dcx.getCurDgner().$("#tabs").children("li:eq(1)").click();;
          //    break;
          case 5://设置顶栏
            DgnInner.createToolbarBtns();
            break;
          case 6://设置内容页
            DgnInner.createPageContentMnger();
            break;
          case 7://设置底栏
            DgnInner.createPageBottomMnger();
            break;
          //case 8://发布APP
          //    Dcx.confirm("确定要删除此页面吗？", function () {
          //        Dcx.tips('您点击了删除', 2);
          //    }, function () {
          //        Dcx.tips(DLangss._ttt("common.cancelDelete"), 2);
          //    });
          //    break;
        }

      }
      //明细设计器
      else if (designerType == 4) {
        switch (tabIndex) {
          //case 1://发布页面
          //    Dcx.confirm("确定要发布此页面吗？", function () {
          //        Dcx.tips('您点击了发布', 2);
          //    }, function () {
          //        Dcx.tips('你取消了发布', 2);
          //    });
          //    break;
          //case 2://删除页面
          //    DgnPage.deleteInnerPage();
          //    break;
          //case 3://新建页面
          //    DgnPage.goToBuildNewPage();
          //    break;
          //case 4://设置页面
          //    Dcx.getCurDgner().$("#tabs").children("li:eq(1)").click();;
          //    break;
          case 5://设置顶栏
            DgnInner.createToolbarBtns();
            break;
          case 6://设置内容页
            DgnInner.createPageContentMnger();
            break;
          case 7://设置底栏
            DgnInner.createPageBottomMnger();
            break;
          case 9://互动面板
            DgnPage.showPanelForDgner(this);
          //case 8://发布APP
          //    Dcx.confirm("确定要删除此页面吗？", function () {
          //        Dcx.tips('您点击了删除', 2);
          //    }, function () {
          //        Dcx.tips(DLangss._ttt("common.cancelDelete"), 2);
          //    });
          //    break;
        }
      }

      setTimeout(function() {
        // $(that).parent().show();
        Dcx.setModData(mod, { "showOperateMenu": true });

      }, 1000);
    },
    clickDiyExtendJs: function(attrName) {
      var mod = this;
      var data = Dcx.getModData(mod);
      var mainObj = data.mainObj;
      if (Dcx.isNull(attrName))
        attrName = '';
      var designerType = data.designerType;
      var attrJsonKey = (designerType == 5 ? "extendAttr" : "attrJson");
      //2,表单;1,页面设计;3,搜索;4,明细;5,报表;
      var attrJson = Dcx.toJson(mainObj[attrJsonKey], {});
      var js = attrJson['' + attrName];
      if (Dcx.isNull(js))
        js = '';
      var jsSetOption = {
        dgnEntId: data.entId,
        reportId: (mainObj.reportId ? mainObj.reportId : -1),
        formId: (mainObj.formId ? mainObj.formId : -1),
        attrName: attrName,
        jsCss: js,
        fieldListObj: data.fieldListObj,
        mainObj: data.mainObj,
        pageJson: data.pageJson,
        childEntityList: data.childEntityList,
        isShow: true,
      };
      Dcx.setModData(mod, { "jsSetOption.isShow": false });
      setTimeout(function() {
        jsSetOption.isShow = true;
        Dcx.setModData(mod, { "jsSetOption": jsSetOption });
      });
      // Dcx.setModData(mod, { "jsSetOption": jsSetOption, "curMdKey": "jsSetOption" });
    },
    returnAndDealJsCode: function(e) {
      var mod = this;
      var data = Dcx.getModData(mod);
      var mainObj = data.mainObj;
      var designerType = data.designerType;
      var isReport = mainObj.reportId > 0 ? true : false;
      var detailObj = Dcx.getDetailOfEvent(e, mod);
      var returnData = detailObj.e;
      if (returnData.justClose) {
        Dcx.setModData(mod, { "jsSetOption.isShow": false });
        return;
      }
      Dcx.setModData(mod, { "jsSetOption.isShow": false });
      var jsCode = returnData.jsCode;
      var attrName = returnData.attrName;
      var designerType = data.designerType;
      var attrJsonKey = (designerType == 5 ? "extendAttr" : "attrJson");
      var attrJson = Dcx.toJson(mainObj[attrJsonKey], {});
      if (Dcx.isNull(jsCode))
        jsCode = '';
      attrJson['' + attrName] = (Dcx.isNull(jsCode) ? undefined : jsCode);
      mainObj[attrJsonKey] = Dcx.jsonTo(attrJson);
      Dcx.setModData(mod, { ["mainObj." + attrJsonKey]: mainObj.attrJson });
      if (designerType == 5) {
        var reportObj = mainObj;
        var _f_ok4 = function() {
        };
        //保存 到数据库
        DgnReportBase.saveBaseSet(reportObj.reportId, reportObj.reportName, reportObj.remark, reportObj.pageSize, Dcx.jsonTo(extAttr), true, _f_ok4);
        reportObj.isDefaultExtendAttr = false;
      }
    },
    //设置表单 增删改的Sql事务
    clickSetSqls: function(actType) {
      var mod = this;
      var data = Dcx.getModData(mod);
      var mainObj = data.mainObj;
      // var designerType = data.designerType;
      //actType：1，新增数据时；2，修改数据时；3，删除数据时；4，查询数据时；5，工作流节点SQL事务；6，定时器SQL事务；7，按扭点击执行SQL事务
      //designerType:1,页面设计;2,表单(再由formTypeId决定是什么类型的表单);3,搜索;4,明细;5,报表;
      // DgnCom.getEntityFieldAndHtml(mod, data.entId).fieldList,
      var slTransSetOption = {
        dgnEntId: data.entId,
        mainObj: data.mainObj,
        childEntityList: data.childEntityList,
        actType: actType,
        designerType: data.designerType,
        moduleTypeUsingSql: null,
        mainSqlObj: null,
        entId: data.entId,
        fieldList: data.fieldListObj,
        targetDesignerField: DgnCom.getEntityFieldAndHtml(mod, data.entId).fieldList,
        moduleObj: data.moduleObj,
        elemId: null,
        elemObj: null,
        isShow: true,
      };
      Dcx.setModData(mod, { "slTransSetOption.isShow": false });
      setTimeout(function() {
        slTransSetOption.isShow = true;
        Dcx.setModData(mod, { "slTransSetOption": slTransSetOption });
      });
    },
    //返回 处理功能权限
    returnAndDealPrivilegeFunctionSet: function(e) {
      var mod = this;
      var data = Dcx.getModData(mod);
      var detailObj = Dcx.getDetailOfEvent(e, mod);
      var returnData = detailObj.e;
      if (returnData.justClose) {
        Dcx.setModData(mod, { "privilegeFunctionOption.isShow": false });
        return;
      }
      Dcx.setModData(mod, { "privilegeFunctionOption.isShow": false });

      // mod.dealComptDataChange({
      //   "typeId": data.typeId, "dataId":  data.dataId,
      //   "privJson": null,"justClose":true
      // },false);
    },
    //返回 处理字段权限
    returnAndDealPrivilegeFieldSet: function(e) {
      var mod = this;
      var data = Dcx.getModData(mod);
      var detailObj = Dcx.getDetailOfEvent(e, mod);
      var returnData = detailObj.e;
      if (returnData.justClose) {
        Dcx.setModData(mod, { "privilegeFieldOption.isShow": false });
        return;
      }
      Dcx.setModData(mod, { "privilegeFieldOption.isShow": false });

    },
    selectFieldForCtrl: function(e) {
      var mod = this;
      var data = Dcx.getModData(mod);
      var curFieldJson = data.curFieldJson;
      var tmpSelectDbField = curFieldJson.fieldName;
      var dbFieldList = data.dbTableFieldList;
      if (!dbFieldList || dbFieldList == null)
        return;
      var fieldName = e;//$(this).val();
      if (Dcx.isNull(fieldName))
        return false;
      var dbFieldObj = null;
      for (var i = 0; i < dbFieldList.length; i++) {
        var dbFieldObj2 = dbFieldList[i];
        if (fieldName == dbFieldObj2.fieldName) {
          dbFieldObj = dbFieldObj2;
          break;
        }
      }
      if (dbFieldObj == null)
        return;
      var fieldObj = data.curFieldJson;
      fieldObj.fieldName = dbFieldObj.fieldName;
      fieldObj.ctrlByname = dbFieldObj.fieldByname;
      fieldObj.isPostToDb = true;
      fieldObj.fieldTypeId = 1;
      fieldObj.fieldDataTypeId = dbFieldObj.fieldDataTypeId; //alert('dbFieldObj.fieldDataTypeId' + dbFieldObj.fieldDataTypeId);
      fieldObj.runDataTypeId = Dcx.getRunDataTypeId(dbFieldObj.fieldDataTypeId);
      fieldObj.ctrlByname = dbFieldObj.fieldByname;
      if (!dbFieldObj.isNullAble) {
        fieldObj.notNull = true;
      }
      if (dbFieldObj.isKey || dbFieldObj.isIdentity) {
        fieldObj.valueOnly = true;
      }
      if (fieldObj.maxLength < dbFieldObj.length && dbFieldObj.length > 0) {
        fieldObj.maxLength = dbFieldObj.length;
      }
    },
    clickFieldPptTab: function(e) {
      console.log('clickFieldPptTab');
      var mod = this;
      var data = Dcx.getModData(mod);
      var ds = Dcx.getDataset(e);
      var tabId = Dcx.toInt(ds.tabId);
      Dcx.setModData(mod, {
        "curFieldPptTabId": tabId,
      });
      ElemProperty.setFieldFirstTab(mod, tabId);

    },
    returnAndDealSelectImage: function(e) {
      debugger
      var mod = this;
      var data = Dcx.getModData(mod);
      var detailObj = Dcx.getDetailOfEvent(e, mod);
      var rev = detailObj.e;
      var imageList = rev.imageList;
      var iconList = rev.iconList;
      var iconSelectorOptionMsg = data.iconSelectorOptionMsg;

      Dcx.setModData(mod, { "docOption.isShow": false });
      this.dealComptDataChange();
    },
    //返回设计的样式
    returnAndDealStyle: function(e) {
      debugger
      var mod = this;
      var data = Dcx.getModData(mod);
      var detailObj = Dcx.getDetailOfEvent(e, mod);
      var obj = detailObj.e;
    },
    isReport2: function() {
      var mod = this;
      var data = Dcx.getModData(mod);
      if (data.designerType == 5)
        return true;
      return false;
    },
    //字段改变，处理
    changeFieldAttrValue: function(e, attr, type) {
      var mod = this;
      var data = Dcx.getModData(mod);
      var value = e;
      var fieldObj = DgnFormCom.getCurFieldJson(mod);
      var otherObj = DgnCom.getFieldOtherAttr(fieldObj);
      var dataTypeId = fieldObj.fieldDataTypeId;
// debugger
      if (attr == "remark") {
        // //alert(333);
      } else if (attr == "remarkWrap") {
        otherObj.remarkWrap = data.fieldRemarkWrap;
      } else if (attr == "placeholder") {
        otherObj.placeholder = value;
        if (Dcx.isNull(otherObj.placeholder))
          otherObj.placeholder = undefined;
      } else if (attr == "ctrlId") {
        otherObj.ctrlId = value;
        if (Dcx.isNull(otherObj.ctrlId))
          otherObj.ctrlId = undefined;
      } else if (attr == "defaultOptionText") {
        otherObj.defaultOptionText = value;
        if (Dcx.isNull(otherObj.defaultOptionText))
          otherObj.defaultOptionText = undefined;
      } else if (attr == 'isHidden') {
        fieldObj[attr] = (value == 1 ? true : false);
      } else if (attr == 'ctrlByname') {
        var name = attr;
        if (mod.isReport2())
          name = "columnByname";
        var value = fieldObj[name];
      } else if (attr == 'fieldName') {
        fieldObj[attr] = value;
      } else if (attr == 'autoIncrement') {
        fieldObj[attr] = (value ? true : undefined);
      } else {
        if (dataTypeId == 1)
          value = (Dcx.isNull(value) || isNaN(value) ? undefined : parseInt(value, 10));
        if (attr == 'scale') {
          if (!isNaN(value))
            fieldObj[attr] = value;
          else
            fieldObj[attr] = undefined;
          // DgnFormCom.setCurCtrlHtml(fieldObj.fldId);
          // return;
        } else if (type == 'checkbox') {
          fieldObj[attr] = (value ? true : undefined);
        } else
          otherObj[attr] = (Dcx.isNull(value) ? undefined : value);
      }
      Dcx.setModData(mod, { "curFieldJson": fieldObj });
    },
    //字段改变，处理
    fieldReturnAndDeal: function(e) {
      // debugger
      var detailObj = Dcx.getDetailOfEvent(e, mod);
      console.log(detailObj);
      var returnObj = detailObj.e;
      var returnFieldObj = detailObj.fieldObj;
      if (!returnFieldObj)
        returnFieldObj = detailObj.obj;
      if (!returnObj)
        return;
      var mod = this;
      var data = Dcx.getModData(mod);
      data.curAreaJson._maxEId++;
      var fieldObj = data.curFieldJson;
      if (returnFieldObj.fldId != fieldObj.fldId) {
        alert('fldId不一致');
        return;
      }
      var attrList = returnObj.list;
      var key0 = data.curAreaPathKey;
      var fieldIndex = data.curDesignFieldIndex;
      // debugger;
      for (var i = 0; i < attrList.length; i++) {
        var obj = attrList[i];
        var attr = obj.attr;
        var value = obj.value;
        var mainKey = obj.mainKey;
        var functionName = obj.functionName;
        if (!Dcx.isNull(functionName)) {
          mod[functionName](returnFieldObj, value);
          continue;
        }
        // var keyPath = obj.keyPath;
        if (mainKey == "mainObj") {
          var key1 = mainKey + "." + attr;
          Dcx.setModData(mod, { [key1]: value });
        } else if (!Dcx.isNull(mainKey)) {
          var key1 = "curFieldJson." + mainKey + "." + attr;
          Dcx.setModData(mod, { [key1]: value });
        } else {
          var key1 = "curFieldJson." + attr;
          Dcx.setModData(mod, { [key1]: value });
          key1 = "fieldListObj[" + fieldIndex + "]." + attr;
          Dcx.setModData(mod, { [key1]: value });
        }

        // Dcx.setModData(mod, { [obj.key + ".ara__id"]: data.curAreaJson.ara__id });
        // "curAreaPathKey": obj.key,
        //   "": area.fIndex,
        //   "curFieldJson": fieldObj,
      }
      data = Dcx.getModData(mod);
      data.fieldListObj[fieldIndex]=data.curFieldJson;
      // this.$set(data.fieldListObj, fieldIndex, data.curFieldJson);
      // for(var key in returnObj){
      //   fieldObj[key]=returnObj[key];
      // }
      // fieldObj=Dcx.cloneJson(fieldObj);
      // fieldObj.e__id=data.curAreaJson._maxEId;
      // data.curAreaJson.elems.splice(0,1,fieldObj);
      // var key=data.curAreaPathKey+".elems";
      // Dcx.setModData(mod, {[key]:data.curAreaJson.elems });
      // this.$set(data.curAreaJson.elems, 0, fieldObj);
      // Dcx.setModData(mod, {"curElemJson": fieldObj });
    },
    //页面元素改变，处理
    dealElemChange: function(e) {
      // debugger
      // alert('dealElemChange');

      var detailObj = Dcx.getDetailOfEvent(e, mod);
      var returnObj = detailObj.obj;
      if (!returnObj)
        return;
      var mod = this;
      var data = Dcx.getModData(mod);
      // var ds = Dcx.getDataset(e);
      // console.log(e)
      // Dcx.setModData(mod, {"": itemList });
      // alert(333)
      // debugger
      data.curAreaJson._maxEId++;
      var elemObj = data.curAreaJson.elems[0];
      if (returnObj.elemId != elemObj.elemId) {
        alert('elemId不一致');
        return;
      }
      for (var key in returnObj) {
        elemObj[key] = returnObj[key];
      }
      elemObj = Dcx.cloneJson(elemObj);
      elemObj.e__id = data.curAreaJson._maxEId;
      data.curAreaJson.elems.splice(0, 1, elemObj);
      var key = data.curAreaPathKey + ".elems";
      Dcx.setModData(mod, { [key]: data.curAreaJson.elems });
      data.curAreaJson.elems[0]=elemObj;
      Dcx.setModData(mod, { "curElemJson": elemObj });
    },
    clickOnGroup: function(e) {
      var mod = this;
      var data = Dcx.getModData(mod);
    },
    clickOnArea: function(e) {
      var mod = this;
      var data = Dcx.getModData(mod);
      var returnData = e.obj;
      var designerType = data.designerType;
      var ds = Dcx.getDataset(e);
      DgnCom.setCurArea(mod, Dcx.toInt(ds.groupId), Dcx.toInt(ds.areaId), -1);

    },
    //点击 添加控件（没有绑定字段）到设计区
    clickToAddCtrlToDesigner: function(e) {
      var mod = this;
      var data = Dcx.getModData(mod);
      var ds = Dcx.getDataset(e);
      // DgnElem.clickToInsertPageElem(obj,false,mod,e);
    },
    //点击 添加字段到设计区
    clickToAddFieldToDesignerForBrowse: function(e, index, level) {
      var mod = this;
      var data = Dcx.getModData(mod);
      var sourceFormField = data["sourceFormField" + level];
      var fieldObj = sourceFormField[index];
    },
    //点击 添加字段到设计区
    clickToAddFieldToDesigner: function(e, index) {
      var mod = this;
      var data = Dcx.getModData(mod);
      var canAddedFieldList = data.canAddedFieldList;
      var fieldObj = canAddedFieldList[index];
    },
    //点击 添加页面元素
    clickToAddPageElem: function(e, index, index2) {
      var mod = this;
      var data = Dcx.getModData(mod);
      var obj = data.leftBarList[index].items[index2];
      DgnElem.clickToInsertPageElem(obj, false, mod, e);
    },
    //鼠标经过”添加页面元素“的属性选项卡（属性、组样式、区域样式）
    mouseoverPageAddElemTab: function(e, index) {
      var mod = this;
      var data = Dcx.getModData(mod);
      var ds = Dcx.getDataset(e);
      var tabId = Dcx.toInt(ds.tabId);
      Dcx.setModData(mod, { "curLeftBarIndex": index });
    },
    //鼠标经过页面元素的属性选项卡（属性、组样式、区域样式）
    mouseoverElemTab: function(e, index) {
      var mod = this;
      var data = Dcx.getModData(mod);
      var ds = Dcx.getDataset(e);
      var tabId = Dcx.toInt(ds.tabId);
      Dcx.setModData(mod, { "curElemTabId": tabId });
      ElemProperty.setPageElemFirstTab(mod);
    },
    //点击风格 选择
    clickSchemeToSelect: function(e, index) {
      var mod = this;
      var data = Dcx.getModData(mod);
      var styleSchemeList = data.styleSchemeList;
      var schemeObj = styleSchemeList[index];
      var $div = $(this);
      var css = schemeObj.css;
      var css2 = css.split(",");
      var key = schemeObj.key;
      mod.styleScheme = key;
      Dcx.setModData(mod, { "styleScheme": key });
      DStyle.convertStyleScheme(key, mod);//代码位置：setStyle_1.js
    },
    //取消 整体风格
    clickRemoveTheme: function(e) {
      var mod = this;
      var data = Dcx.getModData(mod);
      DStyle.cancelStyleScheme(mod);
      // $(this).hide();//.parent()
    },
    //清除 所有样式
    clickClearAllStyle: function(e) {
      var mod = this;
      var data = Dcx.getModData(mod);
      var key = null;
      //发布
      Dcx.confirm("<div  style='font-size: 15px;color: red;'>" + _flp("sureSetStyle") + "</div><br/><div style='font-size: 15px;font-weight:bolder;margin-top:15px;color: red;'>" + _flp("noRecover") + "</div>"
        , function() {
          mod.styles2 = mod.styles;
          mod.styles = new Array();
          Dcx.setModData(mod, { "styles2": data.styles });
          Dcx.setModData(mod, { "styles": new Array() });
          if (mod.$dcxStyle)
            mod.$dcxStyle.html("");
          Dcx.tips('<div  style="font-size: 15px;color: red;">' + _flp("operateOk2") + '</div>');
        }
        , function() {
        });
      DStyle.cancelStyleScheme(mod);
    },
    getPageJson: function() {
      var mod = this;
      var data = Dcx.getModData(mod);
      return data.pageJson;
    },
    addOrRemoveOneElem: function(e) {
      var mod = this;
      var data = Dcx.getModData(mod);
      // var reportObj = data.reportObj;
      var pageJson = data.pageJson;
      var detailObj = Dcx.getDetailOfEvent(e, mod);
      var returnData = detailObj.e;
      var obj = returnData.obj;
      if (obj.checked)
        DgnElem.deal33DragInElementToPageDgn(mod, obj, pageJson.head.group);
      else {
        var areas = pageJson.head.group[0].pagging[0].areas;
        for (var i = 0; i < areas.length; i++) {
          var ok = false;
          for (var k = 0; k < areas[i].elems.length; k++) {
            if (areas[i].elems[k].toolBtn == obj.value || areas[i].elems[k].command == obj.value) {
              ok = true;
              areas.splice(i, 1);
              return;
            }
          }
          if (ok)
            return;
        }
      }
    },
    getMainObj: function() {
      var mod = this;
      var data = Dcx.getModData(mod);
      return data.mainObj;
    },
    //改变 每行列数
    changeColumnCount: function(e) {
      var mod = this;
      var data = Dcx.getModData(mod);
      var dgnObj = Dcx.getCurDgner();
      var mainObj = dgnObj.mainObj;
      var v = data.columnCount;
      // var v = parseInt(e, 10);
      var entId = data.entId;
      //key1是entId或elemId；key2是fldId；typeId：1，整体方案；2，页面；3，组；；4，区域；5，字段；9，元素
      var otherMsg = DgnCom.getOtherMsgJson(mod);
      otherMsg.column = v;
      if (otherMsg.column < 1)
        otherMsg.column = -1;
      DStyle.changeStyleColumn(otherMsg.column, mod);
    },
    //改变 整体风格 （瀑布式、表格式）
    changeEntStyleId: function(e) {
      var mod = this;
      var data = Dcx.getModData(mod);
      var dgnObj = Dcx.getCurDgner();
      var mainObj = dgnObj.mainObj;
      var v = parseInt(e, 10);
      var entId = data.entId;
      //key1是entId或elemId；key2是fldId；typeId：1，整体方案；2，页面；3，组；；4，区域；5，字段；9，元素
      var otherMsg = DgnCom.getOtherMsgJson(mod);
      if (v == 2) {
        otherMsg.entStyle = true;
      } else {
        otherMsg.entStyle = undefined;
      }
      DStyle.updateStyles(mod,4, entId, null, "width", v, 0);

    },
    _f_show_cssDgn: function(typeId, $container) {
      var mod = this;
      var data = Dcx.getModData(mod);
      var curDCss = null;
      var pageJson = DgnCom.getPageJson(mod);
      var _fn = function(cssStr, cssJson) {

      };
      var cssStr = DStyle.getStyleStrOfTarget(mod, typeId, "0", "");
      switch (typeId) {
        case 1://整体风格
          DStyle.createStyleScheme($container, mod);
          break;
        case 2://整个页面
          var options = {
            "dealFn": _fn,
            "cssStr": cssStr,
            "html": "",
            "typeId": typeId,
            "key1": "0",
            "key2": "",
            "isIn": true
          };
          Dcx.setModData(mod, { "cssOption2": options });
          // curDCss = $container.cssDesigner(options);
          break;
        case 3://组
          var options = {
            "dealFn": _fn,
            "cssStr": cssStr,
            "html": "",
            "typeId": typeId,
            "key1": "0",
            "key2": "",
            "isIn": true
          };
          Dcx.setModData(mod, { "cssOption3": options });
          // curDCss = $container.cssDesigner(options);
          break;
        case 4://区域
          var options = {
            "dealFn": _fn, "cssStr": cssStr, "html": "", "typeId": typeId, "key1": "0",

            "key2": "", "isIn": true
          };
          Dcx.setModData(mod, { "cssOption4": options });
          break;
        case 5://字段、字段标题
          var options = {
            "dealFn": _fn,
            "cssStr": cssStr,
            "html": "",
            "typeId": typeId,
            "key1": "0",
            "key2": "",
            "isIn": true
          };
          Dcx.setModData(mod, { "cssOption5": options });
          break;
        case 6:
          var options = {
            "dealFn": _fn,
            "cssStr": cssStr,
            "html": "",
            "typeId": typeId,
            "key1": "0",
            "key2": "",
            "isIn": true
          };
          Dcx.setModData(mod, { "cssOption6": options });
          break;
        case 7:
          var options = {
            "dealFn": _fn,
            "cssStr": cssStr,
            "html": "",
            "typeId": typeId,
            "key1": "0",
            "key2": "",
            "isIn": true
          };
          Dcx.setModData(mod, { "cssOption7": options });
          break;
        case 8:
          var options = {
            "dealFn": _fn,
            "cssStr": cssStr,
            "html": "",
            "typeId": typeId,
            "key1": "0",
            "key2": "",
            "isIn": true
          };
          Dcx.setModData(mod, { "cssOption8": options });
          break;
        case 9:
          var options = {
            "dealFn": _fn,
            "cssStr": cssStr,
            "html": "",
            "typeId": typeId,
            "key1": "0",
            "key2": "",
            "isIn": true
          };
          Dcx.setModData(mod, { "cssOption9": options });
          break;
      }
    },
    //点击（外观样式的内部标签）
    clickStyleFieldTab: function(e, tabId) {
      var mod = this;
      var data = Dcx.getModData(mod);
      if (!tabId)
        tabId = data.curStyleFieldTab;
      Dcx.setModData(mod, { "curStyleFieldTab": tabId });
      mod._f_show_cssDgn(tabId);//, $tab2);

    },
    //点击（外观样式的内部标签）
    clickStyleTab: function(e, tabId) {
      var mod = this;
      var data = Dcx.getModData(mod);
      if (!tabId)
        tabId = data.curStyleTab;
      Dcx.setModData(mod, { "curStyleTab": tabId });
      mod._f_show_cssDgn(tabId);
    },
    //批量 加入字段
    clickBatchAddField: function(e) {
      var mod = this;
      var data = Dcx.getModData(mod);
      Dcx.setModData(mod, { "formFieldBatchAddOption.isShow": true });
    },
    //创建 新的字段
    clickCreateMoreField: function(e) {
      var mod = this;
      var data = Dcx.getModData(mod);
      Dcx.setModData(mod, { "dbFieldBatchAddOption.isShow": true });
    },
    closeDesigner: function(e) {
      var mod = this;
      var curMod = this;
      var data = Dcx.getModData(mod);
      var that = this;
      Dcx.hideCenter(mod.$container);
      Dcx.setCurDgner(null);

    },
    previewDesigner: function(e) {
      var mod = this;
      var curMod = this;
      var data = Dcx.getModData(mod);
      var ds = Dcx.getDataset(e);
      var designerType = data.designerType;
      if (designerType == 1) {//页面
        var mainObj = data.mainObj;
        window.open(DUrl.runFormUrl() + '?pageId=' + mainObj.pageId + '&reportName=' + escape(mainObj.pageName) + '&pageTypeId=' + (mainObj.pageTypeId ? mainObj.pageTypeId : 1) + '&isPageRun=1&isPreview=1', 'tryPage');
      } else if (designerType == 2) {//表单
        var formObj = data.mainObj;
        window.open(DUrl.runFormUrl() + '?formId=' + formObj.formId + '&reportName=' + escape(formObj.formName) + '&isPreview=1', 'tryForm');
      } else if (designerType == 3) {//查询
        var mainObj = data.mainObj;
        window.open(DUrl.runFormUrl() + '?reportId=' + mainObj.reportId + '&searchId=' + mainObj.searchId + '&reportName=' + escape(mainObj.searchName) + '&isPreview=1&isReportRun=1', 'tryReport');

      } else if (designerType == 4) {//明细

        var mainObj = data.mainObj;
        window.open(DUrl.runFormUrl() + '?reportId=' + mainObj.reportId + '&reportName=' + escape(mainObj.reportName) + '&isPreview=1&isBrowseRun=1', 'trybrowse');
      } else if (designerType == 5) {//报表
        var reportObj = data.mainObj;
        window.open(DUrl.runFormUrl() + '?reportId=' + reportObj.reportId + '&reportName=' + escape(reportObj.reportName) + '&isPreview=1&isReportRun=1', 'tryReport');

      }
    },
    saveDesigner: function(e) {
      var mod = this;
      var data = Dcx.getModData(mod);
      var ds = Dcx.getDataset(e);
      var designerType = data.designerType;
      if (designerType == 1)
        DgnPage.savePage(mod, true);//代码位置:Page/Page_Save.js
      else if (designerType == 2)//表单
        DgnSave.saveForm(mod, true);//代码位置:Form/Form_Save.js
      else if (designerType == 3) {//查询
        DgnSearch.saveSearchForm(mod, true, true);//代码位置:Form/Form_Save.js
      } else if (designerType == 4) {//明细
        DgnBrowseReport.saveBrowse(mod, true, true);//代码位置:Browse/BrowseBuilder.js
      } else if (designerType == 5) {//报表
        DgnReportBegin.saveReport(mod, true, true);//代码位置:Browse/BrowseBuilder.js
      }
    },
    //点击（手机、电脑）
    clickDeviceType: function(e, tabId) {
      var mod = this;
      var data = Dcx.getModData(mod);
      if (!tabId)
        tabId = data.curDeviceType;
      Dcx.setModData(mod, { "curDeviceType": tabId });
      var h = null;
      if (tabId == 1) {
        // $divMiddleLeft.addClass("app-mode");
        var h = $(window).height() - 116 - 24;
        if (h < 400)
          h = 400;
        else if (h > 800)
          h = 800;
        h = h + "px";
      } else {
        h = "auto";
      }
      Dcx.setModData(mod, { "phoneAreaHeight": h });
    },
    //点击 左侧顶部标签栏
    clickPropertyTab: function(e, tabId) {
      var mod = this;
      var data = Dcx.getModData(mod);

      // var ds = Dcx.getDataset(e);
      if (!tabId)
        tabId = data.curLeftTopTabId;// ds.tabId;
      var mainObj = data.mainObj;
      var designerType = data.designerType;
      var showAddColumns = (tabId == 1 ? true : false);
      var showPropertiesSet = (tabId == 2 ? true : false);
      var showAreaProperties = false;
      var showStyleContainer = (tabId == 3 ? true : false);

      Dcx.setModData(mod, {
        "showAddColumns": showAddColumns,
        "showPropertiesSet": showPropertiesSet,
        "showAreaProperties": showAreaProperties,
        "showStyleContainer": showStyleContainer,
        "curLeftTopTabId": tabId,
      });
      if (tabId == 1)//添加元素、控件
      {
        //表单
        if ((designerType == 2 && mainObj.formTypeId == 2)) {
          var obj = DgnFormFieldPpt.createFormFieldForSelector(mod, data.dbTableFieldList, null, mainObj.dbTableName, null, mainObj.dbTableId, 0, '', false, false, true, data.fieldListObj);//代码位置:FormBuilder.js
          var listx = obj.fieldGroupList[0].items;
          for (var ii = 0; ii < listx.length; ii++) {
            if (!listx[ii].ctrlByname)
              listx[ii].ctrlByname = listx[ii].fieldByname;
          }
          Dcx.setModData(mod, { "canAddedFieldList": listx });
        }
        else if (designerType == 3) {
          //查询
          var listx = new Array();
          var list = data.sourceFormField1;
          if (list) {

            for (var ii = 0; ii < list.length; ii++) {
              if (!list[ii].ctrlByname)
                list[ii].ctrlByname = list[ii].fieldByname;
              listx.push(list[ii]);
            }
          }
          list = data.sourceFormField2;
          if (list) {
            for (var ii = 0; ii < list.length; ii++) {
              if (!list[ii].ctrlByname)
                list[ii].ctrlByname = list[ii].fieldByname;
              listx.push(list[ii]);
            }
          }
          Dcx.setModData(mod, { "canAddedFieldList": listx });
        }
      } else if (tabId == 2)//页面属性、表单属性、报表设置
      {
        if (DgnCom.isForm(mod)) {
          DgnFormMain.initFormMainMsg(mod);
        }
        if (designerType == 1) {//alert(343);
          DgnPage.initPageMainMsg(mod);
        } else if (designerType == 5) {//报表 alert(343);
          DgnReportBegin.initReportMainMsg(mod);
        } else if (designerType == 4) {//明细报表
          DgnPage.initPageMainMsg(mod);
        }
      } else if (tabId == 3)//总体页面的外观样式
      {
        if (!data.hadBuildOuterStyle) {
          Dcx.setModData(mod, { "hadBuildOuterStyle": true });
          DStyle.create(1, mod);
        }

      }
      // $i.show();
      var $i = $(mod.$refs.tabTopI);
      var count = 3;
      var w = (100.000 / count);
      var index = tabId - 1;// $(this).index();
      var tmp = 100 - w * (count - index - 1);
      $i.animate({ 'left': w * index + "%" }, 400);
    },
    //获取 fieldObj
    getFieldObjByE: function(e) {
      return DForm._getFieldObjByE(this, e)
    },
    //获取 fieldObj
    getFieldObj: function(fldId) {
      return DForm._getFieldObj(this, fldId)
    },
    //获取 fieldObj
    getFieldObjByFieldName: function(fieldName) {
      return DForm._getFieldObjByFieldName(this, fieldName)
    },
    'getJqObj': function(id) {
      var mod = this;
      if (mod.ctrls == undefined)
        mod.ctrls = {};
      var $container = mod.$container ? mod.$container : $(mod.$refs.dgnContainer);
      var $ctrl = $container.find(id);
      mod.ctrls["" + id] = $ctrl;
      return $ctrl;
    },
    '$2': function(className) {
      var mod = this;
      if (mod.ctrls == undefined)
        mod.ctrls = {};
      var $container = mod.$container ? mod.$container : $(mod.$refs.dgnContainer);
      var $ctrl = $container.find("." + className);
      mod.ctrls["." + className] = $ctrl;
      return $ctrl;
    },
    doLink: function(e) {
    },
    dealComptDataChange: function(e) {
      // console.log(e);
      var topEventName = e.detail.topEventName;
      Dcx.dealComptDataChange(e, this, true);
      if (topEventName == "dealElemChange")
        this.dealElemChange(e);
    },
    returnValueToParent: function(changedData, evt, topEventName) {
      evt = Dcx.dealElemUiValueAndEvent(evt, this);
      this.$emit('returnChangedValues', {
        detail: {
          'typeId': 1,
          'curModChild': this,
          'changedData': changedData,
          'obj': Dcx.getPropertyValue("fieldObj", this),
          'e': evt,
          'topEventName': topEventName
        }
      }, {});
    },

    /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////下：报表的函数  /////////////////////////////////////////////
    'clickFlowLogTab2': function(e) {
      var mod = this;
      var formMod = this;
      var ds = Dcx.getDataset(e);
      var curTabId = parseInt(ds.id, 10);
      Dcx.setModData(mod, {
        'flowOption.logCurTabId': curTabId
      });
      if (curTabId == 1) {
        DcxFlow.getFlowFinishNodeAndCommentList(e, formMod, 1);
      } else {
        DcxFlow.showFlowChart(e, formMod)
      }
    },
    //查看 流程日志
    'clickGoToFlowLog': function(e) {
      var mod = this
      var formMod = this
      var runObj = mod.runObj
      var instanceId = runObj.instanceId
      var formFlowDeploy = runObj.formFlowDeploy
      var deployId = formFlowDeploy.flowDeployId
      var formObj = runObj.formObj
      var taskId = runObj.taskId
      var formId = mod.entId
      var flowKy = runObj.modelKey
      var sumObj = {
        'formId': formMod.entId, 'formName': formObj.formName, 'mKeyValue': runObj.mKeyFieldValue, 'modelKey': flowKy
        , 'deployId': deployId, 'instanceId': instanceId, 'taskId': taskId
      }
      Dcx.setModData(mod, { 'flowOption.showLog': true })
      DcxFlow.getFlowFinishNodeAndCommentList(e, formMod, 2);
    },
    //手写签名 点击
    'clickOnAgAddHandSign': function(e) {
      var mod = this
      Dcx.setModData(mod, { 'signOption.showSignMenu': true })
      var context1 = Dcx.mna().createCanvasContext('handWriting1')
      context1.setStrokeStyle('#000000')
      context1.setLineWidth(3)
      Dcx.setModData(mod, {
        'signOption.context1': context1
      })
    },
    //签名图片 删除
    'clickOnAgDeleteSignImage': function(e) {
      var mod = this
      // 'signOption.context1': null,
      Dcx.setModData(mod, {
        'signOption.hasDraw': false,
        'signOption.signType': 0,
        'signOption.src': null//'https://www.yunjiepei.com/dfc/uploadFiles/qic/2.png'
      })
      this.clickOnAgResetSign(e)
    },
    'touchstart1': function(e) {
      var mod = this
      var data = Dcx.getModData(mod)
      var context1 = data.signOption.context1
      context1.moveTo(e.touches[0].x, e.touches[0].y)
      Dcx.setModData(mod, {
        'signOption.context1': context1,
        'signOption.hasDraw': true //要签字了
      })
    },
    'touchmove1': function(e) {
      var mod = this
      var data = Dcx.getModData(mod)
      var x = e.touches[0].x
      var y = e.touches[0].y
      var context1 = data.signOption.context1
      context1.setLineWidth(3)
      context1.lineTo(x, y)
      context1.stroke()
      context1.setLineCap('round')
      context1.draw(true)
      context1.moveTo(x, y)
    },
    //隐藏 签名菜单
    'clickCloseBackSignMenu': function(e) {
      var mod = this
      Dcx.setModData(mod, { 'signOption.showSignMenu': false })
      // Dcx.setData({'showBackDiv2':false}, mod);
    },
    //取消 签名
    'clickOnAgSignCancel': function(e) {
      var mod = this
      Dcx.setModData(mod, { 'signOption.showSign': false })
    },
    //重新 签名
    'clickOnAgResetSign': function(e) { //重新画
      var mod = this
      var data = Dcx.getModData(mod)
      var context1 = data.signOption.context1
      if (context1) {
        context1.draw()
      } //清空画布
      Dcx.setModData(mod, {
        'signOption.hasDraw': false, //没有画
        'signOption.src': null,
        'signOption.signType': 0
      })
    },
    //完成 签名
    'clickOnAgSignOk': function() {
      var mod = this
      var data = Dcx.getModData(mod)
      if (!data.signOption.hasDraw) {
        console.log('签字是空白的 没有签字')
      } else {
        var context1 = data.signOption.context1
        context1.draw(true, Dcx.mna().canvasToTempFilePath({
          canvasId: 'handWriting1',
          success(res) {
            console.log(res.tempFilePath)//得到了图片下面自己写上传吧

            Dcx.mna().uploadFile({
              url: 'http://localhost:8080/api/dcxapp/js/control/uploadFile/fileUpload' + '?appType=7&token=' + Dcx.getToken(),//.a shx
              filePath: res.tempFilePath,
              name: 'img_data',
              formData: {
                filetype: 'image'
              },
              success: function(res2) {
                var fileObj = Dcx.dealFileReturn(res2)
                if (!fileObj.isOk) {
                  Dcx.tips('上传失败，原因：' + fileObj.errorMsg + '您可以继续上传。', 2000)
                  return
                }
                console.log(fileObj.filePath)//res2.tempFilePath);//得到了图片下面自己写上传吧
                Dcx.setModData(mod, {
                  'signOption.hasDraw': true,
                  'signOption.showSign': false,
                  'signOption.src': fileObj.filePath2,
                  'signOption.uploadFileObj': fileObj,
                  'signOption.signType': 1
                }, data)
                console.log(fileObj.filePath2)
                Dcx.hideToast()
              },
              fail: function(res2) {
                Dcx.hideToast()
                Dcx.alert('' + res2.errMsg)
              }
            })

          }
        }))
      }
    },
    //取消 签名
    'clickOnAgOldSignCancel': function(e) {
      var mod = this
      Dcx.setModData(mod, {
        'signOption.showOldSign': false,
        'signOption.showSign': false
      })
    },
    //确定 签名
    'clickOnAgOldSignOk': function(e) {
      var mod = this
      Dcx.setModData(mod, {
        'signOption.showOldSign': false,
        'signOption.signType': 2
      })
    },
    //点击 手写签名菜单
    'clickOnAgSignMenu': function(e) {
      var mod = this
      var data = Dcx.getDataset(e)
      var indexId = data.indexId
      //手写新签名
      if (indexId == 1) {
        Dcx.setData({
          'signOption.showSign': true,
          'signOption.showSignMenu': false
        }, mod)
      } else if (indexId == 2) {
        //使用以前的
        Dcx.setData({
          'signOption.showSignMenu': false
        }, mod)
        var _f_ok_f = function(imgUrl) {
          if (Dcx.isNull(imgUrl)) {
            Dcx.alert('您还没有签名图片，请使用手写签名。')
            return
          }
          var imgUrl3 = Dcx.dealUploadedFileUrl(imgUrl)
          Dcx.setModData(mod, {
            'signOption.showOldSign': true,
            'signOption.oldSignImgUrl': imgUrl,
            'signOption.oldSignImgUrl2': imgUrl3
          })
        }
        Dcx.getSignImgUrl(_f_ok_f)
      } else if (indexId == 3) {
        //选择一张图
        Dcx.setData({ 'signOption.showSignMenu': false }, mod)
        //  this. _clickUploadFile(e);
        Dcx.mna().showActionSheet({
          itemList: ['拍照上传', '选择图片'],
          items: ['拍照上传', '选择图片'],
          success: function(res) {
            var xIndex = res.tapIndex
            if (xIndex == undefined) {
              xIndex = res.index
            }
            var sourceType = ['album', 'camera']
            if (xIndex == 0)//拍照
            {
              sourceType = ['camera']
            } else //选择相册
            {
              sourceType = ['album']
            }
            if (xIndex == 0 || xIndex == 1) {
              // chooseImage(mod, maxUploadLen, xIndex);
              Dcx.mna().chooseImage({
                count: 1,
                sizeType: ['original', 'compressed'],
                sourceType: sourceType,
                success: function(res) {
                  var tempFilePaths = res.tempFilePaths
                  Dcx.mna().showToast({ title: '正在上传文件...', icon: 'loading', duration: 10000 })
                  for (var i = 0; i < tempFilePaths.length; i++) {//http://localhost:8080/api Dcx.getBaseUrl() +
                    Dcx.mna().uploadFile({
                      url: 'http://localhost:8080/api/dcxapp/js/control/uploadFile/fileUpload' + '?appType=7&token=' + Dcx.getToken(),//.a shx
                      filePath: tempFilePaths[i],
                      name: 'img_data',
                      success: function(res) {
                        var fileObj = Dcx.dealFileReturn(res)
                        if (!fileObj.isOk) {
                          // fileObj = null;
                          // Dcx.setModData(mod,{ 'filePath': '' });
                          Dcx.tips('上传失败，原因：' + fileObj.errorMsg + '您可以继续上传。', 2000)
                          return
                        }
                        console.log(fileObj.filePath)//res.tempFilePath);//得到了图片下面自己写上传吧
                        Dcx.setModData(mod, {
                          'signOption.showSign': false,
                          'signOption.showSignMenu': false,
                          'signOption.src': fileObj.filePath2,
                          'signOption.uploadFileObj': fileObj,
                          'signOption.signType': 3
                        })
                        var data = Dcx.getModData(mod)
                        var context1 = data.signOption.context1
                        if (context1) {
                          context1.draw()
                        } //清空画布
                        Dcx.setModData(mod, { 'signOption.hasDraw': false })
                        console.log(fileObj.filePath2)
                        Dcx.hideToast()
                      },
                      fail: function(res) {
                        Dcx.hideToast()
                        Dcx.alert('' + res.errMsg)
                      }
                    })
                  }
                },
                fail: function(res) {
                  if (res.errMsg != 'chooseImage:fail cancel') {
                    Dcx.alert('' + res.errMsg)
                  }
                }
              })

            }
          },
          fail: function(res) {
            console.log(res.errMsg)
          }
        })
      } else if (indexId == 4) {
        //取   消
        Dcx.setData({ 'signOption.showSignMenu': false }, mod)
      }
    },
    //从手机选择图片、并上传
    '_chooseImage': function(e) {
      var mod = this
      Dcx.mna().chooseImage({
        count: 1,
        sizeType: ['original', 'compressed'],
        sourceType: ['album', 'camera'],
        success: function(res) {
          var tempFilePaths = res.tempFilePaths
          var imageUrls = []
          var imglength = 0
          Dcx.mna().showToast({ title: '正在上传文件...', icon: 'loading', duration: 10000 })
          for (var i = 0; i < tempFilePaths.length; i++) {
            //'http://localhost:8080/api/dcxapp/js/control/uploadFile/fileUpload' + "?appType=7&
            Dcx.mna().uploadFile({
              // url:  Dcx.getUploadBaseUrl()+'/js/control/uploadFile/fileUpload'+ "?appType=7&token=" + Dcx.getToken(),//.a shx
              url: 'http://localhost:8080/api/dcxapp/js/control/uploadFile/fileUpload' + '?appType=7&token=' + Dcx.getToken(),//.a shx
              filePath: tempFilePaths[i],
              name: 'img_data',
              success: function(res) {
                var data = JSON.parse(res.data)
                if (data.status == 0) {
                  imageUrls.push(data.data)
                  imglength++
                  if (imglength == tempFilePaths.length) {
                    Dcx.hideToast()
                  }
                } else {
                  Dcx.hideToast()
                  //Dcx.alert( ''+data.data );
                }
              },
              fail: function(res) {
                Dcx.hideToast()
                Dcx.alert('' + res.errMsg)
              }
            })
          }
        },
        fail: function(res) {
          if (res.errMsg != 'chooseImage:fail cancel') {
            Dcx.alert('' + res.errMsg)
          }
        }
      })
    },
    //点击上传图片、文件后，执行
    '_clickUploadFile': function(e, typeId) {
      var mod = this
      var fileRootPath = ''
      var _this = mod
      var data = Dcx.getModData(mod)
      var ds = Dcx.getDataset(e)
      var isImage = (parseInt(ds.isImg, 10) > 0 ? true : false)
      if (!mod.maxFileId || isNaN(mod.maxFileId) || Dcx.isNull(mod.maxFileId)) {
        mod.maxFileId = 1
      }
      // var key0=(isImage? data.agreeOption.imageList: data.agreeOption.dixList);
      var key0 = (isImage ? 'imageList' : 'dixList')
      var fileList1 = data.agreeOption[key0]
      var key00 = 'agreeOption.'
      var key01 = key00 + key0
      // agreeOption.dixList

      var maxUploadLen = 9
      if (fileList1.length >= maxUploadLen) {
        Dcx.tips('您已上传' + fileList1.length + '个文件，本次不能再上传更多的文件.', 3000)
        return
      }
      var maxCount = maxUploadLen - fileList1.length
      var select_f_ = function(uploadFiles, fileTypeId, isImg) {
        if (uploadFiles.length < 1) {
          return
        }
        if (fileList1.length + uploadFiles.length >= maxUploadLen) {
          Dcx.tips('上传文件不能超过' + maxUploadLen, 3000)
          return
        }
        var fileList000 = []
        for (var kk = 0; kk < uploadFiles.length; kk++) {
          var obj = uploadFiles [kk]
          var filePath = obj.path
          var fileName = filePath.indexOf('.') < 0 ? obj.name : DcxFile.getFileName3(filePath)// ;
          // var fileName = DcxFile.getFileName3(filePath);
          var newGuid = ''
          var newFilePath = fileRootPath + newGuid + '' + fileName
          // var tmp = filePath.toLowerCase();
          var ik = fileName.lastIndexOf('.')
          var ext = ''
          if (ik >= 0) {
            ext = fileName.substr(ik, fileName.length - ik)
          }
          ext = ext.toLowerCase().trim()
          var fileId = mod.maxFileId
          if (Dcx.isNull(fileId) || isNaN(fileId)) {
            fileId = 1
          }
          var fileObj = {
            'fileTypeId': fileTypeId,
            'isImg': isImg,
            'tempFilePath': obj.path,//+'/'+obj.name,
            'isOk': false,
            'progress': 0,
            'id': fileId,//mod.maxFileId,
            'fileId': fileId,
            'filePath': newFilePath,
            'fileExt': ext,
            'fileSize': parseInt(obj.size / 1024, 10),
            'fileName': fileName,
            'type': obj.type,
            'lastUpdate': obj.lastModifiedDate,
            'newGuid': newGuid
          }
          //var fileJson = { "fId": 336, "fn": "exampleImgUrl", "value": filePath, "newFile": escape(newFilePath), "oldValue": null, "obj": $file, "other": other };
          fileList000.push(fileObj)
          if (Dcx.isNull(mod.maxFileId) || isNaN(mod.maxFileId)) {
            mod.maxFileId = 1
          }
          mod.maxFileId = mod.maxFileId + 1
        }
        mod._uploadFile(fileList000, 0, isImg)
      }
      var chooseImage = function(t, count, xIndex) {
        var sourceType = ['album', 'camera']
        if (xIndex == 0)//拍照
        {
          sourceType = ['camera']
        } else //选择相册
        {
          sourceType = ['album']
        }
        Dcx.mna().chooseImage({
          count: maxCount,
          sizeType: ['original', 'compressed'],
          sourceType: sourceType,
          success: function(res) {
            var arr = res.tempFiles
            select_f_(arr, 1, true)
          }
        })
      }
      var chooseFile = function(t, count) {
        var tmp = Dcx.mna().chooseMessageFile
        if (!tmp) {
          return chooseImage(t, count, 1)
        }
        tmp({
          count: count,
          type: 'file',
          success: function(res) {
            var arr = res.tempFiles
            select_f_(arr, 2, false)
          }
        })
      }
      if (!isImage) {
        chooseFile(mod, maxUploadLen)//, '选择视频'
      } else {
        Dcx.mna().showActionSheet({
          itemList: ['拍照上传', '选择图片'],
          items: ['拍照上传', '选择图片'],
          success: function(res) {
            var xIndex = res.tapIndex
            if (xIndex == undefined) {
              xIndex = res.index
            }
            if (xIndex == 0 || xIndex == 1) {
              chooseImage(mod, maxUploadLen, xIndex)
            }
          },
          fail: function(res) {
            console.log(res.errMsg)
          }
        })
      }
    },
    //选择图片、文件后，真正上传到服务器
    '_uploadFile': function(fileList, deleteOld, isImage) {

      var mod = this
      var data = Dcx.getModData(mod)
      if (Dcx.isNull(fileList) || fileList.length < 1) {
        mod.isFileOk = true
        mod.isFileFinish = true
        return false
      }
      var deleteFileList = new Array()
      mod.deleteFileList = deleteFileList
      var successNumber = 0
      var failNumber = 0
      var key0 = (isImage ? 'imageList' : 'dixList')
      var key00 = 'agreeOption.'
      var key000 = key00 + key0

      mod.upload_k = 0
      if (fileList[0].fileType == 1) {
        Dcx.setModData(mod, { 'isUploadingImg': true })
      } else {
        Dcx.setModData(mod, { 'isUploadingFile': true })
      }
      var _f_tmp = function() {
        if (successNumber > 0) {
          mod.isFileOk = true
        } else if (failNumber > 0) {
          mod.isFileOk = false
        } else if (failNumber > 0) {
          mod.isFileOk = true
        }
        mod.isFileFinish = true
        // for (var k = 0; k < fileList.length ; k++) {
        //   var file = fileList[k];
        // }
        if (fileList[0].fileType == 1) {
          Dcx.setModData(mod, { 'isUploadingImg': false })
        } else {
          Dcx.setModData(mod, { 'isUploadingFile': false })
        }
      }
      var _f_next = function() {
        if (mod.upload_k >= fileList.length - 1) {
          _f_tmp()
          return
        }
        mod.upload_k = mod.upload_k + 1
        _f_upload()
      }
      var _f_progress = function(res) {
        var fileObj_1 = mod._curFileObj_1
        var key0 = 'fileList[' + fileObj_1.i + '].'
        var key2 = key0 + 'progress'
        Dcx.setModData(mod, { [key2]: res.progress })
      }
      var _f_upload = function() {
        var k = mod.upload_k
        var fileObj = fileList[k]
        if (fileObj.isOk) {
          _f_next()
          return
        }
        var formData = {
          'hid_MaxFileSize': 10240 * 10,
          'isImg': (fileObj.isImg ? 1 : 0),
          'appType': 7,
          'fileNames': escape(fileObj.filePath) + '|'
        }//默认是微博，到时再换成：editor.appType
        mod._curFileObj_1 = { 'obj': fileObj, 'i': k }
        var uploadTask = Dcx.mna().uploadFile({
          //'http://localhost:8080/api/dcxapp/
          // url: Dcx.getBaseUrl ()+'/ajax/uploadfile/upload',
          // url: Dcx.getBaseUrl ()+'/ajax/uploadfile/upload',appType=7&
          url: 'http://localhost:8080/api/dcxapp/ajax/uploadfile/upload' + '?token=' + Dcx.getToken(),//.a shx
          filePath: fileObj.tempFilePath, name: 'img_data', formData: formData,
          success: function(res) {
            successNumber++
            var result = res.data//Dcx.getJsonD(res);
            if (Dcx.isNull(result) || result == '0') {
              mod.isFileOk = false
              mod.isFileFinish = true
              return
            }
            result = result.split('*()^')
            var errMsg = ''
            if (result.length > 1) {
              errMsg = result[0]
              result = result[1]
            }
            result = result.split('%$&')
            var isOk = parseInt(Dcx.trim(result[0]), 10)
            var path = Dcx.trim(result[1])
            if (isOk == 0) {
              mod.isFileOk = false
              mod.isFileFinish = true
              Dcx.tips('上传失败，原因：' + errMsg + '您可以继续上传。', 2000)
              //$tmp.prev().remove();
              return false
            }
            path = path.replace('amp;', '')
            var newGuid = Dcx.trim(result[2])
            newGuid = newGuid.replace('amp;', '')
            fileObj.filePath = path
            fileObj.newGuid = newGuid
            fileObj.isOk = true
            var size = Dcx.trim(result[3])
            size = size.replace('amp;', '')
            fileObj.fileSize = parseInt(size, 10)//大小
            var fileList00 = data.agreeOption[key0]
            fileList00.push(fileObj)
            Dcx.setModData(mod, { [key000]: fileList00 })// 'fileList': fileList });
          },
          fail: function(res) {
            failNumber++
            mod.isFileOk = false
            mod.isFileFinish = true
            Dcx.alert('' + res.errMsg)
          },
          complete: function(res) {
            _f_next()
          }
        })
        uploadTask.onProgressUpdate(function(res) {
          _f_progress(res)
        })
      }
      _f_upload()
    },
    //点击 签名图片
    'clickOnAgSignImage': function(e) {
      Dcx._clickDropMenuItem(this, e)
    },
    //点击 添加图片
    'clickOnAgAddPhoto': function(e) {
      this._clickUploadFile(e)
      // Dcx._clickDropMenuItem(this, e);
    },
    //点击 图片
    'clickOnAgImage': function(e) {
      // Dcx._clickDropMenuItem(this, e);
      var mod = this
      // var fileRootPath = '';
      // var _this = mod;
      var data = Dcx.getModData(mod)
      if (data.agreeOption.showOneImage) {
        Dcx.setModData(mod, { 'agreeOption.showOneImage': false })
        return
      }
      var ds = Dcx.getDataset(e)
      var id = parseInt(ds.id, 10)
      var fileList = data.agreeOption.imageList
      for (var kk = 0; kk < fileList.length; kk++) {
        if (fileList [kk].fileId != id) {
          continue
        }
        Dcx.setModData(mod, {
          'agreeOption.showOneImage': true,
          'agreeOption.curOneImageUrl': fileList [kk].tempFilePath
        })
        break
      }
    },
    //删除 图片
    'clickOnAgDeleteImage': function(e) {
      var mod = this
      var data = Dcx.getModData(mod)
      var ds = Dcx.getDataset(e)
      var id = parseInt(ds.id, 10)
      var isImage = (parseInt(ds.isImg, 10) > 0 ? true : false)
      var key0 = (isImage ? 'imageList' : 'dixList')
      var fileList = data.agreeOption[key0]
      var key00 = 'agreeOption.'
      var key01 = key00 + key0
      for (var kk = 0; kk < fileList.length; kk++) {
        if (fileList [kk].fileId != id) {
          continue
        }
        fileList.splice(kk, 1)
        break
      }
      Dcx.setModData(mod, { [key01]: fileList, [key00 + 'imageCount']: fileList.length })
    },
    //点击 添加附件
    'clickOnAgAddDix': function(e) {
      this._clickUploadFile(e)
    },
    //附件 删除
    'clickOnAgDeleteFile': function(e) {
      this.clickOnAgDeleteImage(e)
    },
    //同意 取消
    'clickOnAgCancelAgree': function(e) {
      var mod = this
      var option = Dcx.getModData(mod)
      var runObj = mod.runObj
      var formObj = runObj.formObj
      Dcx.setModTitle(mod, { 'title': formObj.formName })
      Dcx.setData({ 'agreeOption.show': false }, this)

    },
    //同意 提交
    'clickOnAgSubmitAgree': function(e) {
      // Dcx._clickDropMenuItem(this, e);
      var mod = this
      var option = Dcx.getModData(mod)
      var runObj = mod.runObj
      var formObj = runObj.formObj
      var ext = formObj.extendAttr
      if (!DForm.checkYouCanbtn(runObj, e)) {
        return
      }
      DForm.saveData(e, mod, false, true, (option.agreeOption.curAgreeType == 1 ? 'approvePass' : 'approvePass'))
    },
    // 选择图片、文件、视频
    'clickUploadFildde': function(e) {
      DcxSay._clickUploadFile(this, e)
    },
    'clickOnTab': function(e) {
      DPage._clickOnTab(this, e)
    },
    //验证码 重新获取
    regetVerifyImg: function(e) {
      DForm.getVerifyImg(Dcx.getDataset(e).fieldName, this)
    },
    //输入框  回车
    'inputConfirm': function(e) {
    },
    //从手机选择图片
    chooseImage: function(e) {
      DForm._chooseImage(this)
    },
    // 选择图片、文件、视频
    clickUploadFile: function(e) {
      DForm._clickUploadFile(e, this)
    },
    //把文件上传到服务器
    uploadFile: function(upFileList, deleteOld) {
      DForm._uploadFile(upFileList, deleteOld, this)
    },
    // 预览图片
    previewImg: function(e) {
      DForm._previewImg(e, this)
    },
    changeGender: function(e) {
      DForm._changeGender(e, this)
    },
    'doTouchDataRowM': function(e, v1, v2) {
      FRChild._doTouchDataRowM(e, v1, v2, this)
    },
    //手指刚放到屏幕触发
    'childTouchDataRowS': function(e) {
      FRChild._childTouchDataRowS(e, this)
    },
    //触摸时触发，手指在屏幕上每移动一次，触发一次
    'childTouchDataRowM': function(e) {
      FRChild._childTouchDataRo(e, this)
    },
    'childTouchDataRowE': function(e) {
      FRChild._childTouchDataRowE(e, this)
    },
    //点击 编辑子表单
    'clickOnChildDataRow': function(e) {
      FRChild._clickOnChildDataRow(e, this)
    },
    //编辑 子表数据行
    clickEditChildData: function(e) {
      FRChild._clickEditChildData(e, this)
    },
    //返回 子表的表单数据
    returnChildFormValue: function(e) {
      FRChild._returnChildFormValue(e, this)
    },
    //删除 子表数据行
    clickDeleteChildData: function(e) {
      FRChild._clickDeleteChildData(e, this)
    },
    //显示 报表查询器
    showFormSelector: function(e) {
      DForm._showFormSelector(e, this)
    },
    //返回 报表查询器的数据
    returnSelectorValue: function(e) {
      DForm._returnSelectorValue(e, this)
    },
    //子表单 扫二维码
    scanAddChildFormData: function(e) {
      DForm._scanAddChildFormData(e, this)
    },
    //显示 子表单、或者选择器
    clickAddChildFormData: function(e) {
      FRChild._clickAddChildFormData(e, this)
    },
    //点击 单选框
    singleCheckboxChange: function(e) {
      DForm._singleCheckboxChange(this, e)
    },
    //商品 加减器
    goodsSubtract: function(e) {
      DForm._goodsSubtract(this, e)
    },
    //点击编辑框
    clickCtrl: function(e) {//DForm._inputFocus(this, e);
    },
    //输入框 获取焦点
    inputFocus: function(e) {
      DForm._inputFocus(this, e)
    },
    //输入框 值改变后
    inputChange: function(e) {
      DForm._inputChange(this, e)
    },
    //输入框 失去焦点
    inputBlur: function(e) {
      DForm._inputBlur(this, e)
    },
    //输入框 输入值后
    inputValue: function(e) {
      DForm._inputValue(this, e)
    },
    //显示 日期控件
    showCalendar: function(e) {
      DForm._showCalendar(this, e)
    },
    //返回 日期控件 接收返回
    returnCalendarValue: function(e) {
      DForm._returnCalendarValue(this, e)
    },
    //显示 树
    showTree: function(e) {
      DForm._showTree(this, e)
    },
    //返回 树 接收返回
    returnTreeValue: function(e) {
      DForm._returnTreeValue(this, e)
    },
    //返回 用户/部门 接收返回
    returnUDSValue: function(e) {
      DForm._returnUDSValue(this, e)

    },
    //显示 用户/部门
    showUDSSelectorDlg: function(e) {
      DForm._showUDSSelectorDlg(this, e)
    },
    //显示 用户/部门
    hideUDSSelectorDlg: function(e) {
      Dcx.setModData(this, { 'udsOption.isShow': false });
      // DForm._showUDSSelectorDlg(this, e)
    },
    //删除 用户/部门 选项
    deleteUserSelectedItem: function(e) {
      DForm._deleteUserSelectedItem(this, e)
    },
    //删除 树 选项
    deleteTreeSelectedItem: function(e) {
      DForm._deleteTreeSelectedItem(this, e)
    },
    //显示 子表单 （编辑数据）
    showChildFormEdit: function(e) {
      DForm._showChildFormEdit(this, e)
    },
    //加减器
    bindSubtract: function(e) {
      DForm._bindSubtract(this, e)
    },
    //矩阵 表格下拉 65，表格数值66，表格文本67
    inputTableDdl5: function(e) {
      DForm._inputTableDdl5(this, e)
    },
    //开关
    switchChange: function(e) {
      DForm._switchChange(this, e)
    },
    //矩阵 多选
    checkboxChangeMatrixScale: function(e) {
      DForm._checkboxChangeMatrixScale(this, e)
    },
    //矩阵 量表(即 单选)
    radioChangeMatrixScale: function(e) {
      DForm._radioChangeMatrixScale(this, e)
    },
    //矩阵 填空
    matrixInput: function(e) {
      DForm._matrixInput(this, e)
    },
    //显示 选项选择器 closeDDLDlg
    showDdlSelectorDlg: function(e) {
      // debugger
      DForm._showDdlSelectorDlg(this, e)
    },
    //关闭 选项选择器
    closeDDLDlg: function(e) {
      DForm._closeDDLDlg(this, e)
    },
    //点击 下拉选择框的 单选 多选
    clickDDLOption: function(e) {
      DForm._clickDDLOption(this, e)
    },
    //点击 下拉框的确定
    okDlgSelector: function(e) {
      DForm._okDlgSelector(this, e)
    },
    //单选 多选
    dlgCheckboxChange: function(e) {
      DForm._dlgCheckboxChange(this, e)
    },
    //删除 选项
    deleteDdlSelectedItem: function(e) {
      DForm._deleteDdlSelectedItem(this, e)
    },
    //下拉选择 选项 改变
    bindPickerChange: function(e) {
      DForm._bindPickerChange(this, e)
    },
    //点击 选项
    clickOption: function(e) {
      DForm._clickOption(this, e)
    },
    //单选 多选
    checkboxSelectedChange: function(e) {
      DForm._checkboxSelectedChange(this, e)
    },
    //矩阵 滑块
    matrixSlider: function(e) {
      DForm._matrixSlider(this, e)
    },
    //滑块
    sliderChange: function(e) {
      DForm._sliderChange(this, e)
    },
    //评分
    clickGradeStar: function(e) {
      DForm._clickGradeStar(this, e)
    },
    //地址改变 选择框 选项改变后
    changeDateYmd: function(e) {
      DForm._changeDateYmd(this, e)
    },
    //地址改变 选择框 选项改变后
    changeAddress: function(e) {
      DForm._changeAddress(this, e)
    },
    //选择框 选项改变后
    selectChange: function(e) {
      DForm._selectChange(this, e)
    },
    clickOneFieldEdit: function(e) {
      var mod = this;
      var data = Dcx.getModData(this);
      var obj22 = {
        "isShow": false,
        "oneFieldObj": null,
      };
      Dcx.setModData(mod, { "oneFieldOptionMsg": obj22 });

      var ee = e.detail;
      SReport.editField(ee, mod);

    },
    returnhOneFieldValue: function(e) {
      var mod = this;
      mod.clickSumbitFieldEdit(e);
    },
    clickSumbitFieldEdit: function(e) {
      var mod = this;
      var data = Dcx.getModData(this);
      var fieldName = data.curFieldName2;
      var reportObj = data.reportObj;
      var objbs = e.detail;
      SReport._f_submitOneFieldEdit(mod, objbs);
    },
    closeCloseFieldEdit: function(e) {
      var mod = this;
      var data = Dcx.getModData(mod);
      var obj22 = {
        "isShow": false,
        "oneFieldObj": null,
      };
      Dcx.setModData(mod, { "oneFieldOptionMsg": obj22 });
    },
    showDiyCondition: function(e) {
      var mod = this;
      var data = Dcx.getModData(mod);
      var fieldName = data.curFieldName2;
      var reportObj = data.reportObj;
      var runObj = mod.runObj;
      var keyList = runObj.keyList;
      var fieldList = reportObj.fieldList;
      var sqlCdtn = DRun.getSqlCdtn(reportObj.reportId, 1, mod);
      var obj22 = {
        "showFieldSet": true, "isShow": true,
        "reportId": reportObj.reportId,
        "reportName": reportObj.reportName,
        "formId": reportObj.formId,
        "sqlCdtn": sqlCdtn,
        "keyList": keyList
      };
      Dcx.setModData(mod, { "diyOptionMsg": obj22 });
    },
    addNewRows: function(e) {
      var mod = this;
      var rowCount = -1;
      if (e && e.detail)
        rowCount = e.detail.rowCount;
      // debugger
      SReport.addDataRowForExcelForm(mod, rowCount);
    },
    clickOnHeadTh: function(e, index) {
      var mod = this;
      var cellIndex = e.detail.cellIndex;
      var key = "reportObj.cellList[" + cellIndex + "].showSearch";
      Dcx.setModData(mod, { [key]: true });
    },
    changeRowSelected1: function(e) {
      var mod = this;
      var data = Dcx.getModData(mod);
      var reportObj = data.reportObj;
      var fieldList = data.fieldList;
      var dataList = data.dataList;
      var dataIndex = e.detail.dataIndex;
      var isSelected = e.detail.isSelected;
      var key = "dataList[" + dataIndex + "].isSelected2";
      Dcx.setModData(mod, { [key]: isSelected });
    },
    checkedAll: function(e) {
      var mod = this;
      var data = Dcx.getModData(mod);
      var reportObj = data.reportObj;
      var fieldList = data.fieldList;
      var dataList = data.dataList;
      // var ds = Dcx.getDataset(e);
      var isCheckAll = e.detail.isCheckAll;
      for (var i = 0; i < dataList.length; i++) {
        var dataObj = dataList[i];
        if (dataObj.state > 3)
          continue;
        // dataObj.isCheckAll = isCheckAll;
        var key = "dataList[" + i + "].isSelected2";
        if (dataObj.isSelected2 != isCheckAll)
          Dcx.setModData(mod, { [key]: isCheckAll });
        dataObj.isSelected2 = isCheckAll;
      }
      Dcx.setModData(mod, { "dataList": dataList });
    },
    showBatchUpdates: function(e) {
      var mod = this;
      var data = Dcx.getModData(this);
      var fieldName = data.curFieldName2;
      var reportObj = data.reportObj;
      var runObj = mod.runObj;
      var keyList = runObj.keyList;
      var fieldList = reportObj.fieldList;
      var dataList = data.dataList;
      // debugger
      var sqlCdtn = DRun.getSqlCdtn(reportObj.reportId, 1, mod);
      var keyValueList = new Array();
      for (var i3 = 0; i3 < dataList.length; i3++) {
        var dataObj = dataList[i3];
        if (!dataObj.isSelected2)
          continue;
        var key = { "fields": new Array() };
        if (keyList && keyList.length > 0) {
          var kvList = null;// $ul.attr("kvObj");
          if (Dcx.isNull(kvList) || kvList.length < 1) {
            var keyObj = keyList[0];
            var kv = dataObj._yjpKv;
            //$ul.attr("kv");
            if (!Dcx.isNull(kv))
              key.fields.push({
                "dataTypeId": keyObj.dataTypeId,
                "fieldName": keyObj.fieldName,
                "sourceId": keyObj.sourceId,
                "value": kv
              });
          } else {
            for (var k = 0; k < keyList.length; k++) {
              var keyObj = keyList[k];
              for (var j = 0; j < kvList.length; j++) {
                if (kvList[j].fieldName == keyObj.fieldName) {
                  key.fields.push({
                    "dataTypeId": keyObj.dataTypeId,
                    "fieldName": keyObj.fieldName,
                    "sourceId": keyObj.sourceId,
                    "value": kvList[j].value
                  });
                  break;
                }
              }
            }
          }
        }
        if (key.fields.length > 0)
          keyValueList.push(key);
        // $ul = $ul.next();
      }
      if (Dcx.isNull(keyValueList) || keyValueList.length < 1) {
        Dcx.alert(DLangss._ttt("report.selectUpdate"));
        return false;
      }
      var obj22 = {
        "showFieldSet": true, "isShow": true,
        "reportId": reportObj.reportId,
        "reportName": reportObj.reportName,
        "formId": reportObj.formId,
        "sqlCdtn": sqlCdtn,
        "keyValueList": keyValueList,
        "keyList": keyList
      };
      Dcx.setModData(mod, { "batchOptionMsg": obj22 });

    },
    updateBatchUpdateVisibleId(val) {
      var mod = this;
      Dcx.setModData(mod, { "batchOptionMsg.isShow": val });
    },
    updateEmailFieldSetVisibleId(val) {
      var mod = this;
      Dcx.setModData(mod, { "emailOptionMsg.showFieldSet": val });
    },
    updateEmailSendVisibleId(val) {
      var mod = this;
      Dcx.setModData(mod, { "emailOptionMsg.isShow": val });
    },
    updateImportBeginVisibleId(val) {
      var mod = this;
      if (val == 2)
        Dcx.setModData(mod, { "importOptionMsg.showFieldSet": true });
      if (val == 2)
        val = false;
      Dcx.setModData(mod, { "importOptionMsg.isShow": val });
    },
    updateImportVisibleId(val) {
      var mod = this;
      Dcx.setModData(mod, { "importOptionMsg.showFieldSet": val });
      // Dcx.setModData(mod, { "importOptionMsg.isShow":! val });
    },
    updateExportBeginVisibleId(val) {
      var mod = this;
      if (val == 2)
        Dcx.setModData(mod, { "exportOptionMsg.showFieldSet": true });
      if (val == 2)
        val = false;
      Dcx.setModData(mod, { "exportOptionMsg.isShow": val });
    },
    updateExportSetVisibleId(val) {
      var mod = this;
      Dcx.setModData(mod, { "exportOptionMsg.showFieldSet": val });
      // Dcx.setModData(mod, { "importOptionMsg.isShow":! val });
    },
    updateFormVisibleId(val) {
      var mod = this;
      Dcx.setModData(mod, { "formOptionMsg.isShow": val });
    },
    //下拉菜单 点击
    'clickDropMenuItem': function(e) {
      Dcx._clickDropMenuItem(this, e)
    },
    clickCloseBack2: function(e) {
      Dcx.setModData(this, {
        'showBackDiv2': false
      })
    },
    clickCloseBack: function(e) {
      Dcx.setModData(this, {
        'showBackDiv': false,
        'isShowDropMenu': false,
        'isShowRMF': false
      })
    },
    // 'doLink': function(e) {
    //   // debugger
    //   DRun._initMenu(this, e);
    //   DPage.doLink(e, null, this);
    // },
    // 'doLink2': function(e) {
    //   // debugger
    //   DRun._initMenu(this, e);
    //   DPage.doLink2(e, null, -1, this);
    // },
    //显示 互动面板
    'showDFPDialg': function(e) {
      DRun.showInterPanel(this, e)
    },
    //点击字段排序
    'clickReportToolFieldSort': function(e) {
      DRun.clickReportToolFieldSort(this, e)
    },
    //显示 更多字段属性
    'showMoreReportField': function(e) {
      //Dcx.alert('asdfdsf');
      DRun._showMoreField(this, e)
    },
    //返回 自定义条件
    'returnDiySearchCdtn': function(e) {
      var cdtnList = e.detail.cdtnList
      //console.log(e);
      Dcx.setModData(this, {
        'reportObj.diySearchCdtnList': cdtnList ? cdtnList : null
      })
    },
    //执行 自定义搜索
    'doDiySearch': function(e) {
      DRun.doDiySearch(this, e)
    },
    //点击 确定
    'clickReportSelectorOk': function(e) {
    },
    //点击 数据行
    'clickAddSelector': function(e) {
      this.clickOnRow(e)
    },
    //点击 数据行
    'clickOnRow': function(e) {
      // alert(33);
      DRun._clickOnRow(e, this)
    },
    //显示 树
    'showReportTree': function(e) {
      Dcx.setModData(this, {
        'reportObj.loadTree': true,
        'reportObj.showTree': true
      })
    },
    //接收 树 返回值
    'returnTreeValueForReport': function(e) {
      DRun._returnTreeValueForReport(this, e)
    },
    //关闭页面
    'clickOnCancel': function(e) {
      Dcx.close(-1)
    },
    btnDoSearch: function(e) {
      DRun.doDiySearch(this, e)
    },
    //接收 搜索表单模块 返回的查询条件 ,并执行查询
    'returnSearchData': function(e) {
      DRun._returnSearchDatan(e, this)
    },
    'returnSearchOneFieldCdtn': function(e) {
      DRun._returnSearchOneFieldCdtn(this, e)
    },
    //关闭 工具栏
    'closeAppTool': function(e) {
      Dcx.setModData(this, {
        'reportObj.showAppTool': false
      })
    },
    'doOneFieldSearch': function(e) {
      DRun.doOneFieldSearch(this, e)
    },
    'clickOnToolChartOrCross': function(e) {
      DRun.clickOnToolChartOrCross(this, e)
    },
    'showPageSize': function(e) {
      Dcx.setModData(this, {
        'reportObj.showPageSizeSet': true
      })
    },
    'changePageSize': function(e) {
      DRun.changePageSize(this, e)
    },
    'clickOnToolView': function(e) {
      DRun.clickOnToolView(this, e)
    },
    'clickReportToolLeft': function(e) {
      DRun.clickReportToolLeft(this, e)
    },
    'showReportAppToolbar': function(e) {
      DRun.showReportAppToolbar(this, e)
    },
    'resetReportTool': function(e) {
      var ds = Dcx.getDataset(e)
    },
    //工具栏 (确定)
    'okReportTool': function(e) {
      Dcx.setModData(this, {
        'reportObj.showAppTool': false
      })
    },
    'clickReport': function(e) {
      Dcx.setModData(this, {
        'reportObj.showPageSizeSet': false
      })
    },
    //分页
    'createPageIndex': function(e) {
      DRun.createPageIndex(this, e)
    },
    'jumpToPage': function(e) {
      DRun.jumpToPage(this, e)
    },
    'reflash': function(e) {
      DRun.getDataList2(this)
      return
    },
    'deleteDatas': function(e) {
      this.deleteDatas2(e, false)
    },
    'deleteDatas2': function(e, isInRow) {//type:1，工具栏；2，行内
      DRun._clickDeleteData(e, this, isInRow);
    },
    'deleteDataInRow': function(e) {
      this.deleteDatas2(e, true)
    },
    'rebuildReport': function(sqlCdtn0, afterGetFun, sumObj, e) {
      DRun.rebuildReport(this, sqlCdtn0, afterGetFun, sumObj, e)
    },
    'close': function(e) {
      Dcx.close()
    },
    'clickOnViewItem': function(e) {
      DRun.clickOnViewItem(this, e)
    },
    //编辑 数据
    'clickEditData': function(e) {
      DRun._clickEditData(e, this)
    },
    //删除 数据
    'clickDeleteData': function(e) {
      DRun._clickDeleteData(e, this)
    },
    //手指刚放到屏幕触发
    'touchDataRowS': function(e) {
      DRun._touchDataRowS(e, this)
    },
    //触摸时触发，手指在屏幕上每移动一次，触发一次
    'touchDataRowM': function(e) {
      DRun._touchDataRowM(e, this)
    },
    'touchDataRowE': function(e) {
      DRun._touchDataRowE(e, this)
    },
  }
};
</script>
